.TH SETBUF 3S .SH NAME setbuf \- assign buffering to a stream .SH SYNOPSIS .B #include .PP .B setbuf(stream, buf) .br .SM .B FILE .B *stream; .br .B 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 .SM .B NULL, input/output will be completely unbuffered. .PP A manifest constant .SM .B BUFSIZ tells how big an array is needed: .PP .in +10 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 output streams directed to terminals, and the standard error stream .I stderr are normally not buffered. .SH "SEE ALSO" fopen(3), getc(3), putc(3), malloc(3)