setbuf - assign buffering to a stream
void setbuf(FILE *restrict stream, char *restrict buf);
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2008 defers to the ISO C standard.
Except that it returns no value, the function call:setbuf(stream, buf)
shall be equivalent to:setvbuf(stream, buf, _IOFBF, BUFSIZ)
if buf is not a null pointer, or to:setvbuf(stream, buf, _IONBF, BUFSIZ)
if buf is a null pointer.
The setbuf() function shall not return a value.
No errors are defined.
A common source of error is allocating buffer space as an "automatic" variable in a code block, and then failing to close the stream in the same block.
With setbuf(), allocating a buffer of BUFSIZ bytes does not necessarily imply that all of BUFSIZ bytes are used for the buffer area.
fopen , setvbuf
First released in Issue 1. Derived from Issue 1 of the SVID.
The prototype for setbuf() is updated for alignment with the ISO/IEC 9899:1999 standard.
return to top of page