The GNU C++ Iostream Library



Chapter 5: Using the streambuf Layer

The istream and ostream classes are meant to handle conversion between objects in your program and their textual representation.

By contrast, the underlying streambuf class is for transferring raw bytes between your program, and input sources or output sinks. Different streambuf subclasses connect to different kinds of sources and sinks.

The GNU implementation of streambuf is still evolving; we describe only some of the highlights.


  • Areas Areas in a streambuf.
  • Overflow Simple output re-direction
  • Formatting C-style formatting for streambuf objects.
  • Stdiobuf Wrappers for C stdio.
  • Procbuf Reading/writing from/to a pipe
  • Backing Up Marking and returning to a position.
  • Indirectbuf Forwarding I/O activity.


  • Translated 02/24/96 by Rance Necaise. Original texi file by Bothner and Pesch.