User Tools

Site Tools


c_-_c_streams:stream_buffer

C - C++ Streams - Stream Buffer

#include <iostream>
#include <streambuf>
#include <locale>
#include <cstdio>
 
class outbuf : public std::streambuf
{
protected:
  /* central output function
   * - print characters in uppercase mode
   */
  virtual int_type overflow (int_type c) {
    if (c != EOF) {
      // Convert lowercase to uppercase
      c = std::toupper(c,getloc());
 
      // and write the character to the standard output.
      if (putchar(c) == EOF) {
        return EOF;
      }
    }
 
    return c;
  }
};
 
 
int main()
{
  outbuf ob;                // Create special output buffer.
  std::ostream out(&ob);    // Initialize output stream with that output buffer.
 
  out << "31 hexadecimal: " << std::hex << 31 << std::endl;
}
c_-_c_streams/stream_buffer.txt · Last modified: 2020/07/15 09:30 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki