NAME
setbuf — assign
buffering to a stream
SYNOPSIS
#include
<stdio.h>
void setbuf(FILE *restrict stream, char *restrict buf);
DESCRIPTION
[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 IEEE Std 1003.1-2001 (“POSIX.1”) 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.
RETURN VALUE
The setbuf () function shall not return a
value.
ERRORS
No errors are defined.
EXAMPLES
None.
APPLICATION USAGE
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.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
fopen(3) , setvbuf(3) , the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <stdio.h>
CHANGE HISTORY
First released in Issue 1. Derived from Issue 1 of the SVID.
Issue 6
The prototype for setbuf () is updated for
alignment with the ISO/IEC 9899:1999
(“ISO C99”) standard.
End of informative text. footer end