SETBUF(3) Library Functions Manual SETBUF(3)

setbufassign buffering to a stream

#include <stdio.h>

void setbuf(FILE *restrict stream, char *restrict buf);

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.

None.

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.

None.

None.

fopen(3) , setvbuf(3)

XBD <stdio.h>

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 (“ISO C99”) standard.

January 1, 2008 posix.fail