fclose - einen Datenstrom schließen
Standard-C-Bibliothek (
libc,
-lc)
#include <stdio.h>
int fclose(FILE *datenstrom);
Die Funktion
fclose() leert den Datenstrom auf den
datenstrom
zeigt (schreibt jegliche gepufferten Ausgabedaten mittels
fflush(3))
und schließt den zugrundeliegenden Dateideskriptor.
Das Verhalten von
fclose() ist undefiniert, wenn der Parameter
datenstrom ein illegaler Zeiger ist oder ein bereits an
fclose()
übergeben wurde.
Bei erfolgreichem Abschluss wird 0 zurückgegeben. Anderenfalls wird
EOF zurückgegeben und
errno gesetzt, um den Fehler
anzuzeigen. Auf jeden Fall führt ein weiterer Zugriff
(einschließlich einem anderen Aufruf zu
fclose()) auf den
Datenstrom zu einem undefinierten Verhalten.
- EBADF
- Der Dateideskriptor der datenstrom zugrundeliegt ist
nicht gültig.
Die Funktion
fclose() kann auch fehlschlagen und
errno für
die Fehler setzen, die für die Routinen
close(2),
write(2) oder
fflush(3) spezifiziert sind.
Siehe
attributes(7) für eine Erläuterung der in diesem
Abschnitt verwandten Ausdrücke.
Schnittstelle |
Attribut |
Wert |
fclose() |
Multithread-Fähigkeit |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99.
Beachten Sie, dass
fclose() nur die Puffer des Anwenderadressraums leert,
die von der C-Bibliothek bereitgestellt werden. Um sicherzustellen, dass die
Daten physisch auf der Platte gespeichert werden, müssen auch die
Kernelpuffer geleert werden, zum Beispiel mit
sync(2) oder
fsync(2).
close(2),
fcloseall(3),
fflush(3),
fileno(3),
fopen(3),
setbuf(3)
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother
<
[email protected]> und Chris Leick <
[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU
General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer