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 points	to an input stream or an update	stream into which  the
       most  recent operation was input, that stream is	flushed	if it is seek-
       able and	is not already at end-of-file.	Flushing an input stream  dis-
       cards  any  buffered  input  and	adjusts	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.

       If stream is a null pointer, fflush() performs this flushing action  on
       all streams for which the behavior is defined above.

       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:

       EAGAIN	       The  O_NONBLOCK flag is set for the file	descriptor un-
		       derlying	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  or-

       ENOSPC	       There  was  no  free space remaining on the device con-
		       taining the file.

       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	calling	process.

       The fflush() function may fail if:

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

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

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Interface Stability	     |Standard			   |
       |MT-Level		     |MT-Safe			   |

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

SunOS 5.10			  1 Nov	2003			    fflush(3C)


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

home | help