FFLUSH(3) NetBSD Library Functions Manual FFLUSH(3)
NAME
fflush, fpurge -- flush a stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h> int fflush(FILE *stream); int fpurge(FILE *stream);
DESCRIPTION
The function fflush() forces a write of all buffered data for the given output or update stream via the stream's underlying write function. The open status of the stream is unaffected. If the file is opened only for reading and not for writing, nothing is done. If the stream argument is NULL, fflush() flushes all open output streams. The function fpurge() erases any input or output buffered in the given stream. For output streams this discards any unwritten output. For input streams this discards any input read from the underlying object but not yet obtained via getc(3); this includes any text pushed back via ungetc(3).
RETURN VALUES
Upon successful completion 0 is returned. Otherwise, EOF is returned and the global variable errno is set to indicate the error.
ERRORS
[EBADF] stream is not an open stream. The function fflush() may also fail and set errno for any of the errors specified for the routine write(2).
SEE ALSO
write(2), fclose(3), fopen(3), setbuf(3)
STANDARDS
The fflush() function conforms to ANSI X3.159-1989 (``ANSI C89'').
HISTORY
The fflush() function first appeared in Version 4 AT&T UNIX. The fpurge() function first appeared in 4.4BSD.
BUGS
According to IEEE Std 1003.1-2024 (``POSIX.1''), calling fflush() on a readonly stream that is not at EOF and is seekable, the file offset of the FILE pointer should be set to the file position of the underlying file descriptor and any characters that have been pushed back via ungetc(3) or ungetwc(3) should be discarded. This is currently not implemented. NetBSD 11.99 December 18, 2025 NetBSD 11.99
Powered by man-cgi (2025-09-08). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.