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

FreeBSD Manual Pages


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

       fclose -	close a	stream

       #include	<stdio.h>

       int fclose(FILE *stream);

       The  fclose()  function	causes	the  stream pointed to by stream to be
       flushed and the associated file to be closed.  Any  unwritten  buffered
       data for	the stream is written to the file; any unread buffered data is
       discarded. The stream is	disassociated from the file. If	the associated
       buffer was automatically	allocated, it is deallocated.

       The fclose() function marks for update the st_ctime and st_mtime	fields
       of the underlying file if the stream is writable	and if	buffered  data
       has not yet been	written	to the file.  It will perform a	close(2) oper-
       ation on	the file descriptor that is associated with the	stream pointed
       to by stream.

       After  the  call	to fclose(), any use of	stream causes undefined	behav-

       The fclose() function is	performed automatically	 for  all  open	 files
       upon calling exit(2).

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

       The fclose() 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 fclose() 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	thread.

       The fclose() 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			   |

       close(2), exit(2), getrlimit(2),	ulimit(2), fopen(3C),  stdio(3C),  at-
       tributes(5), standards(5)

SunOS 5.10			  1 Nov	2003			    fclose(3C)


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

home | help