V8/usr/man/man3/setbuf.3

Compare this file to the similar file:
Show the results in this format:

.TH SETBUF 3S 
.SH NAME
setbuf \- assign buffering to a stream
.SH SYNOPSIS
.B #include <stdio.h>
.PP
.B setbuf(stream, buf)
.br
.SM
.B FILE
.B *stream;
.br
.B unsigned char *buf;
.SH DESCRIPTION
.I Setbuf
is used after a stream has been opened but before it
is read or written.
It causes the character array
.I buf
to be used instead of an automatically allocated buffer.
If
.I buf
is the constant pointer NULL,
input/output will be completely unbuffered.
.PP
A manifest constant BUFSIZ
tells how big an array is needed:
.IP
unsigned char buf\^[BUFSIZ];
.PP
A buffer is normally obtained from
.IR  malloc (3)
upon the first
.I getc
or
.IR  putc (3)
on the file,
except that the standard output is line buffered when directed to a terminal.
Other output streams directed to terminals,
and the standard error stream
.I stderr
are normally not buffered.
If the standard output is line buffered, then it is flushed each time
data is read from the standard input by
.IR read (2).
.SH "SEE ALSO"
fopen(3), getc(3), putc(3), malloc(3)