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.