Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

fclose - Datei schließen und Puffer bereinigen

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

int fclose(FILE *dz);

fclose schließt die Datei, auf deren FILE-Struktur der Dateizeiger dz zeigt, und gibt dz frei. Speicherplatz, der für diese FILE-Struktur dynamisch (bei fopen bzw. fopen64) angelegt wurde, wird ebenfalls freigegeben. fclose ruft die Funktion fflush auf, bevor die Datei geschlossen wird.

Returnwert

 0

Die Datei wurde geschlossen

 

 EOF

fclose war nicht erfolgreich, weil

  • dz keiner Datei zugeordnet ist (Datei bereits geschlossen) oder

  • beim Leeren des Puffers ein Fehler auftrat.

Hinweise

Wenn der Dateizeiger dz nicht auf eine FILE-Struktur zeigt, bricht das Programm ab!

Immer wenn ein Programm normal oder mit exit beendet wird, wird für jede offene Datei automatisch ein fclose ausgeführt. Sie brauchen fclose also nur dann explizit aufzurufen, wenn Sie vor Programmbeendigung eine Datei schließen wollen, z.B. um das Limit für geöffnete Dateien (=2048) nicht zu überschreiten. 

Satz-E/A

Da bei Satz-E/A keine Daten gepuffert werden, entfällt der interne Aufruf der Funktion fflush.

Beispiel

Folgender Programmausschnitt schließt die Datei mit Dateizeiger fp bei Erreichen des Dateiendes.

FILE *fp;
if(feof(fp))
  fclose(fp);

Siehe auch

fflush, close, fdopen, fopen, fopen64, exit