Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
fflush(3C)		 Standard C Library Functions		    fflush(3C)

       fflush -	flush a	stream

       #include	<stdio.h>

       int fflush(FILE *stream);

       If  stream  points to an	output stream or an update stream in which the
       most recent operation was not input, fflush() causes any	unwritten data
       for  that  stream  to  be  written  to  the  file, and the st_ctime and
       st_mtime	fields of the underlying file are marked for update.

       If stream is a null pointer, fflush() performs this flushing action  on
       all  streams  for which the behavior is defined above. Additionally, an
       input stream or an update stream	into which the most  recent  operation
       was  input is also flushed if it	is seekable and	is not already at end-
       of-file.	 Flushing an input stream discards any buffered	input and  ad-
       justs  the file pointer such that the next input	operation accesses the
       byte after the last one read.  A	stream is seekable if  the  underlying
       file  is	 not  a	 pipe,	FIFO, socket, or TTY device.  An input stream,
       seekable	or non-seekable, can be	flushed	by explicitly calling fflush()
       with a non-null argument	specifying that	stream.

       Upon  successful	 completion, fflush() returns 0. Otherwise, it returns
       EOF and sets errno to indicate the error.

       The fflush() function will fail if:

	     The O_NONBLOCK flag is set	for  the  file	descriptor  underlying
	     stream and	the process would be delayed in	the write operation.

       EBADF The file descriptor underlying stream is not valid.

       EFBIG An	attempt	was made to write a file that exceeds the maximum file
	     size or the process's file	size limit; or the file	is  a  regular
	     file  and	an  attempt  was made to write at or beyond the	offset
	     maximum associated	with the corresponding stream.

       EINTR The fflush() function was interrupted by a	signal.

       EIO   The process is a member of	a background process group  attempting
	     to	 write to its controlling terminal, TOSTOP is set, the process
	     is	neither	ignoring nor blocking SIGTTOU, and the	process	 group
	     of	the process is orphaned.

	     There  was	 no  free space	remaining on the device	containing the

       EPIPE An	attempt	is made	to write to a pipe or FIFO that	 is  not  open
	     for reading by any	process. A SIGPIPE signal will also be sent to
	     the process.

       The fflush() function may fail if:

       ENXIO A request was made	of a non-existent device, or the  request  was
	     beyond the	limits of the device.

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |MT-Level		     |MT-Safe			   |

       getrlimit(2), ulimit(2),	attributes(5)

SunOS 5.9			  27 Mar 2001			    fflush(3C)


Want to link to this manual page? Use this URL:

home | help