fclose(3) einen Datenstrom schließen

ÜBERSICHT

#include <stdio.h>

int fclose(FILE *stream);

BESCHREIBUNG

Die Funktion fclose() leert den Datenstrom auf den stream zeigt (schreibt jegliche gepufferten Ausgabedaten mittels fflush(3)) und schließt den zugrundeliegenden Dateideskriptor.

Das Verhalten von fclose() ist undefiniert, wenn der Parameter stream ein illegaler Zeiger oder ein bereits an fclose() übergeben wurde.

RÜCKGABEWERT

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.

FEHLER

EBADF
Der Dateideskriptor der stream 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.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
SchnittstelleAttributWert
fclose() Multithread-FähigkeitMT-Safe

KONFORM ZU

POSIX.1-2001, POSIX.1-2008, C89, C99.

ANMERKUNGEN

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).

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

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 <[email protected]>.