 |
Index for Section 3 |
|
 |
Alphabetical listing for F |
|
 |
Bottom of page |
|
fclose(3)
NAME
fclose, fflush, fclose_unlocked, fflush_unlocked - Close or flush a stream
SYNOPSIS
#include <stdio.h>
int fclose(
FILE *stream );
int fclose_unlocked(
FILE *stream );
int fflush(
FILE *stream );
int fflush_unlocked(
FILE *stream );
LIBRARY
Standard C Library (libc)
STANDARDS
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
stream
Specifies the output or update stream.
DESCRIPTION
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 behavior.
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 update.
[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
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
The fclose(), fflush(), fclose_unlocked(), and fflush_unlocked() functions
set errno to the specified value for following conditions:
[EAGAIN]
The O_NONBLOCK option is set for the file descriptor underlying the
stream parameter and the process would be delayed in the write
operation.
[EBADF]
The file descriptor underlying the stream parameter is not valid.
[EFBIG]
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.
[EINTR]
The function was interrupted by a signal that was caught.
[EIO]
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.
[ENOSPC]
There was no free space remaining on the device containing the file.
[EPIPE]
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.
[ENXIO]
A request was made of a nonexistent device or the request was outside
the capabilities of the device.
SEE ALSO
Functions: close(2), exit(2), fopen(3), setbuf(3)
Standards: standards(5)
Network Programmer's Guide
 |
Index for Section 3 |
|
 |
Alphabetical listing for F |
|
 |
Top of page |
|