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

FreeBSD Manual Pages

  
 
  

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

NAME
       fclose -	close a	stream

SYNOPSIS
       #include	<stdio.h>

       int fclose(FILE *stream);

DESCRIPTION
       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-
       ior.

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

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

ERRORS
       The fclose() function will fail if:

       EAGAIN
	     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 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 orphaned.

       ENOSPC
	     There  was	 no  free space	remaining on the device	containing 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 process.

       The fclose() function may fail if:

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

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

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

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

SunOS 5.9			  22 Apr 1997			    fclose(3C)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fclose&sektion=3c&manpath=SunOS+5.9>

home | help