[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    fclose(3S) manual page Table of Contents

Name

fclose, fflush - close or flush a stream

Synopsis

#include <stdio.h>

int fclose(FILE *stream);

int fflush(FILE *stream);

MT-Level

MT-Safe

Description

fclose() causes any buffered data waiting to be written for the named stream (see intro(3) ) to be written out, and the stream to be closed. If the underlying file pointer is not already at end of file, and the file is one capable of seeking, the file pointer is adjusted so that the next operation on the open file pointer deals with the byte after the last one read from or written to the file being closed.

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

If stream points to an output stream or an update stream on which the most recent operation was not input, fflush() causes any buffered data waiting to be written for the named stream to be written to that file. Any unread data buffered in stream is discarded. The stream remains open. If stream is open for reading, the underlying file pointer is not already at end of file, and the file is one capable of seeking, the file pointer is adjusted so that the next operation on the open file pointer deals with the byte after the last one read from or written to the stream.

When calling fflush(), if stream is a null pointer, all files open for writing are flushed.

Return Values

Upon successful completion these functions return a value of zero. Otherwise EOF is returned.

See Also

close(2) , exit(2) , intro(3) , fopen(3S) , setbuf(3S) , stdio(3S)


Table of Contents