setbuf(3) Library Functions Manual setbuf(3) setbuf, setbuffer, setlinebuf, setvbuf - (libc -lc) #include int setvbuf(size_t size; FILE *restrict stream, char buf[restrict size], int mode, size_t size); void setbuf(FILE *restrict stream, char *restrict buf); void setbuffer(size_t size; FILE *restrict stream, char buf[restrict size], size_t size); void setlinebuf(FILE *stream); glibc ( feature_test_macros(7)): setbuffer() setlinebuf(): glibc 2.19: _DEFAULT_SOURCE glibc 2.19 : _BSD_SOURCE : . ( stdin). fflush(3) . ( fclose(3).) . ( stdout ) . stderr . setvbuf() . mode : _IONBF _IOLBF _IOFBF buf size . buf NULL . setvbuf() . setvbuf(). setbuf() setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ); setbuffer() BUFSIZ . setlinebuf() : setvbuf(stream, NULL, _IOLBF, 0); setvbuf() 0 . (mode ). errno . . attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |setbuf() | | MT-Safe | |setbuffer()| | | |setlinebuf()| | | |setvbuf() | | | +------------+------------------------------------+--------------------+ setbuf() setvbuf() C11, POSIX.1-2008. setbuf() setvbuf() C89, POSIX.1-2001. POSIX errno setbuf() errno setbuf() setvbuf() . buf stream . : #include int main(void) { char buf[BUFSIZ]; setbuf(stdout, buf); printf("Hello, world!\n"); return 0; } stdbuf(1) fclose(3) fflush(3) fopen(3) fread(3) malloc(3) printf(3) puts(3) 3 . . : . 6.18 21 2025 setbuf(3)