*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> fflush (3)              



NAME    [Toc]    [Back]

       fclose,  fflush,  fclose_unlocked, fflush_unlocked - Close
       or flush a stream

SYNOPSIS    [Toc]    [Back]

       #include <stdio.h>

       int fclose(
               FILE *stream ); int fclose_unlocked(
               FILE *stream ); int fflush(
               FILE *stream ); int fflush_unlocked(
               FILE *stream );

LIBRARY    [Toc]    [Back]

       Standard C Library (libc)

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       fclose(), fflush():   XSH4.0, XSH4.2, XSH5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies the output or update stream.

DESCRIPTION    [Toc]    [Back]

       The fclose() function writes buffered data to  the  stream
       specified  by  the  stream  parameter, and then closes the
       associated file. The function is automatically called  for
       all  open  files when the exit() function is invoked.  Any
       unwritten buffered data for the stream is delivered to the
       host  environment  to  be  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.   Any  further  use  of  the
       stream  specified by the stream parameter causes undefined

       The fclose() function performs the close() function on the
       file  descriptor associated with the stream parameter.  If
       the stream was writable and  buffered  data  was  not  yet
       written  to  the  file, it marks the st_ctime and st_mtime
       fields of the underlying file for update.

       The fflush() function writes any  buffered  data  for  the
       stream  specified  by  the stream parameter and leaves the
       stream open.  If stream is a null  pointer,  the  fflush()
       function  performs this flushing action on all streams for
       which the behavior was previously  defined.  The  st_ctime
       and  st_mtime fields of the underlying file are marked for

       [Tru64 UNIX]  The fclose_unlocked() and  fflush_unlocked()
       functions  are  functionally identical to the fclose() and
       fflush()  functions,  except  that  fclose_unlocked()  and
       fflush_unlocked()  may  be safely used only within a scope
       that is protected by  the  flockfile()  and  funlockfile()
       functions  used as a pair. The caller must ensure that the
       stream is locked before these functions are used.

RETURN VALUES    [Toc]    [Back]

       Upon  successful  completion,  the   fclose(),   fflush(),
       fclose_unlocked(),  and fflush_unlocked() functions return
       a value of 0 (zero). Otherwise, EOF is returned, and errno
       is set to indicate the error.

ERRORS    [Toc]    [Back]

       The    fclose(),    fflush(),    fclose_unlocked(),    and
       fflush_unlocked() functions set  errno  to  the  specified
       value  for  following conditions: The O_NONBLOCK option is
       set for the file descriptor underlying the stream  parameter
  and  the process would be delayed in the write operation.
  The file descriptor underlying the stream parameter
       is  not  valid.   An attempt was made to write a file that
       exceeds the process's file size limit or the maximum  file
       size.  (See the ulimit(3) reference page).

              The  file is a regular file and an attempt was made
              to write at or beyond the offset maximum associated
              with  the  corresponding  stream.  The function was
              interrupted by  a  signal  that  was  caught.   The
              TOSTOP  tty  local mode causes a background process
              to get a SIGTTOU signal if it attempts to write  to
              the  controlling  terminal.  The SIGTTOU signal, if
              it is not caught or ignored, will cause the process
              to  block  in  a  stopped  state.   A process in an
              orphaned process group is  not  allowed  to  become
              stopped,  since there is no unprivileged process to
              unblock it.  This condition only applies to  operations
 on stdio streams associated with ttys.

              [EIO] is also associated with driver errors.  There
              was no free space remaining on the device  containing
  the  file.   An attempt was 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.  A  request  was  made  of  a  nonexistent
              device  or the request was outside the capabilities
              of the device.

SEE ALSO    [Toc]    [Back]

       Functions: close(2), exit(2), fopen(3), setbuf(3)

       Standards: standards(5)

       Network Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
fflush FreeBSD flush a stream
fpurge NetBSD flush a stream
fflush OpenBSD flush a stream
fpurge OpenBSD flush a stream
fflush NetBSD flush a stream
fpurge FreeBSD flush a stream
fflush Linux flush a stream
fclose OpenBSD close a stream
fclose FreeBSD close a stream
fclose Linux close a stream
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service