fclose
FCLOSE(E)           Linux Programmer's Manual           FCLOSE(E)



NAME
       fclose - close a stream

SYNOPSIS
       #include <stdio.h>

       int fclose(FILE *stream);

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(h).

RETURN VALUE
       Upon successful completion 0 is returned.  Otherwise,  EOF
       is  returned and the global variable errno is set to indi-
       cate  the  error.   In  either  case  any  further  access
       (including another call to fclose()) to the stream results
       in undefined behaviour.

ERRORS
       EBADF  The filedescriptor underlying stream is not  valid.

       The fclose function may also fail and set errno for any of
       the errors specified for the routines  close(e),  write(e)
       or fflush(h).

NOTES
       Note  that fclose only flushes the user space buffers pro-
       vided by the C library. To ensure that the data is  physi-
       cally  stored  on  disk the kernel buffers must be flushed
       too, e.g. with sync(c) or fsync(c).

CONFORMING TO
       The fclose function conforms to ANSI  X3.159-1989  (``ANSI
       C'').

SEE ALSO
       close(e), fcloseall(l), fflush(h), fopen(n), setbuf(f)



BSD MANPAGE                 1993-11-29                  FCLOSE(E)