The run-time library supports three conceptual sets of I/O functions: iostreams (C++ only), standard I/O (the functions declared in STDIO.H), and low-level I/O (the functions declared in IO.H). The stdiobuf class is a derived class of streambuf that is specialized for buffering to and from the standard I/O system.
Because the standard I/O system does its own internal buffering, the extra buffering level provided by stdiobuf may reduce overall input/output efficiency. The stdiobuf class is useful when you need to mix iostream I/O with standard I/O (printf and so forth).
You can avoid use of the stdiobuf class if you use the filebuf class. You must also use the stream class's ios::flags member function to set the ios::stdio format flag value.
#include <stdiostr.h>
stdiostream, filebuf, strstreambuf, ios::flags