File Close
← File Write | ● | Textdaten →
Nach der Ãœbertragung von Daten durch einem Stream, muss dieser wieder geschlossen werden. Dies hat die Abkoppelung von der Datei und die Freigabe von internen Puffern zur Folge.
Dazu wird die Funktion fclose()
benutzt:
Nach dem Schliessen darf der File-Deskriptor nicht mehr benutzt werden.
Der Aufruf von fclose()
impliziert den Aufruf von fflush()
, wodurch sämtliche evtl. noch gepufferte Daten übertragen werden.
Der Aufruf von exit()
oder das reguläre Verlassen des Programms schliesst automatische all Deskriptoren.
Wenn ein Programm abstürzt, passiert dies jedoch nicht, und eine Datei kann dadurch unvollständig übertragen werden.
Daher ist es sinnvoll möglichst frühzeitig einen Stream zu schliessen. Ein weiterer Grund ist die Minimierung der Anzahl von gleichzeitg geöffneten Streams, für die es eine Obergrenze gibt (definiert durch die Konstante FOPEN_MAX).
← File Write | ● | Textdaten →