User Tools

Site Tools


c_-_c_string_streams:stream_buffer

This is an old revision of the document!


C - C++ String 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_string_streams/stream_buffer.1507813937.txt.gz ยท Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki