Go forward to Index.
Go backward to Streambuf.
Go up to Top.
C Input and Output
******************
`libio' is distributed with a complete implementation of the ANSI C
`stdio' facility. It is implemented using `streambuf' objects.
See Wrappers for C `stdio': Stdiobuf.
The `stdio' package is intended as a replacement for the whatever
`stdio' is in your C library. Since `stdio' works best when you build
`libc' to contain it, and that may be inconvenient, it is not installed
by default.
Extensions beyond ANSI:
* A stdio `FILE' is identical to a streambuf. Hence there is no
need to worry about synchronizing C and C++ input/output--they are
by definition always synchronized.
* If you create a new streambuf sub-class (in C++), you can use it
as a `FILE' from C. Thus the system is extensible using the
standard `streambuf' protocol.
* You can arbitrarily mix reading and writing, without having to seek
in between.
* Unbounded `ungetc()' buffer.