====== C - C++ Streams - Stream Buffer ====== #include #include #include #include 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; }