Miscellaneous: buffering control
int setbuffer(FILE *fp, char *buf, int size)
- specifies that “buf” should be used instead of the default system-allocated buffer, and sets the buffer size to “size”
- if “buf” is NULL, i/o will be unbuffered
- used after stream is opened, but before it is read or written
int setlinebuf( FILE *fp )
- used to change stdout or stderr to line buffered
- can be called anytime
A stream can be changed from unbuffered or line buffered to block buffered by using freopen(). A stream can be changed from block buffered or line buffered to unbuffered by using freopen() followed by setbuf() with a buffer argument of NULL.