Eine Datei kann von einem steuernden Datenstrom getrennt werden, indem sie geschlossen wird. Ausgabeströme werden geleert, d.h.alle noch nicht geschriebenen Pufferinhalte werden übertragen, bevor der Datenstrom von der Datei getrennt wird. Der Wert eines Zeigers auf ein FILE
-Objekt ist nach dem Schließen der Datei, einschließlich der Standard-Datenströme, nicht definiert.
Eine Datei kann anschließend vom selben oder einem anderen Programm wieder geöffnet und ihre Inhalte verändert werden, wenn der Lese-/Schreibzeiger an den Anfang positioniert werden kann. Wenn die main
-Funktion zu ihrem ursprünglichen Aufruf zurückkehrt oder die exit
-Funktion aufgerufen wird, werden alle Ausgabeströme geleert und alle offenen Dateien geschlossen, bevor das Programm beendet wird. Andere Methoden der Programmbeendigung, wie z.B. ein abort
-Aufruf, schließen offene Dateien nicht zuverlässig.
Die Adresse des FILE
-Objekts, die verwendet wird, um einen Datenstrom zu steuern, kann signifikant sein; die Kopie eines FILE
-Objekts muss nicht unbedingt auf den Speicherplatz des Originals zugreifen.