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

FreeBSD Manual Pages

  
 
  

home | help
FCLOSE(3)		     Library Functions Manual		       FCLOSE(3)

NAME
     fclose, fdclose, fcloseall -- close a stream

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <stdio.h>

     int
     fclose(FILE *stream);

     int
     fdclose(FILE *stream, int *fdp);

     void
     fcloseall(void);

DESCRIPTION
     The fclose() function dissociates the named stream from its underlying file
     or set of functions.  If the stream was being used for output, any buffered
     data is written first, using fflush(3).

     The  fdclose()  function  is equivalent to fclose() except that it does not
     close the underlying file descriptor.  If fdp is not  NULL,  the  file  de-
     scriptor  will be written to it.  If the stream does not have an associated
     file descriptor, fdp will be set to -1.  This type  of  stream  is  created
     with functions such as fmemopen(3), funopen(3), or open_memstream(3).

     The fcloseall() function calls fclose() on all open streams.

RETURN VALUES
     fcloseall() does not return a value.

     Upon  successful  completion the fclose() and fdclose() functions return 0.
     Otherwise, EOF is returned and the global variable errno is set to indicate
     the error.

ERRORS
     fdclose() fails if:

     [EOPNOTSUPP]	The stream does not have an associated file descriptor.

     The fclose() and fdclose() functions may also fail and set errno for any of
     the errors specified for fflush(3).

     The fclose() function may also fail and set errno for  any  of  the  errors
     specified for close(2).

NOTES
     The  fclose()  and  fdclose() functions do not handle NULL arguments in the
     stream variable; this will result in a segmentation violation.  This is in-
     tentional.  It makes it easier to make sure programs written under  FreeBSD
     are  bug  free.   This  behaviour is an implementation detail, and programs
     should not rely upon it.

SEE ALSO
     close(2), fflush(3), fopen(3), setbuf(3)

STANDARDS
     The fclose() function conforms to ISO/IEC 9899:1990 ("ISO C90").

HISTORY
     The fcloseall() function first appeared in FreeBSD 7.0.

     The fdclose() function first appeared in FreeBSD 11.0.

FreeBSD ports 15.quarterly	February 13, 2024		       FCLOSE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fcloseall&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help