I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com


Close a stream
+ View other versions (3)


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


The fclose function dissociates the named \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 reference: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 - Close a stream
#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!\n");
  // close the stream, so all changes to the file are saved
  return 0;

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.


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


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.


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