close a stream

View versions (3)

INTERFACE

#include <stdio.h>
int fclose ( FILE *stream )

DESCRIPTION

The fclose function dissociates the named &#92;c 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.

The next example writes some text to the file "fred.txt" in the current directory. It uses fclose to save all changes made to the file and close the stream.

Example 1
Workings

\code #include <stdio.h> int main() { // open the text file "fred.txt" for writing FILE *out = fopen("fred.txt", "wt"); // write some text to the file fprintf(out, "Hello Fred!
"); // close the stream, so all changes to the file are saved fclose(out); return 0; } \endcode

RETURN VALUES

Upon successful completion 0 is returned. Otherwise, EOF is returned and the global variable errno is set to indicate the error. In either case no further access to the stream is possible.

ERRORS

The fclose function may also fail and set errno for any of the errors specified for the routines close or fflush.

NOTES

The fclose function does not handle NULL arguments; they will result in a segmentation violation. This is intentional - 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

fflush, fopen, setbuf

STANDARDS

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