The Open Group Base Specifications Issue 6
IEEE Std 1003.1-2001
Copyright © 2001 The IEEE and The Open Group, All Rights reserved.

NAME

setbuf - assign buffering to a stream

SYNOPSIS

#include <stdio.h>

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

DESCRIPTION

[CX] [Option Start] 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 defers to the ISO C standard. [Option End]

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.


The following sections are informative.

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() , setvbuf() , the Base Definitions volume of IEEE Std 1003.1-2001, <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 standard.

End of informative text.


UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]