FFLUSH(3)

BEZEICHNUNG
fflush - einen Datenstrom leeren

ÜBERSICHT
#include <stdio.h>

int fflush( FILE *datenstrom);

BESCHREIBUNG
Für Ausgabe-Datenströme erzwingt fflush() das Herausschreiben aller innerhalb des Prozesses gepufferten Daten dieses Datenstroms oder ruft die dem Datenstrom zugrundeliegende Funktion »write« auf, um den Datenstrom auf den neusten Stand zu bringen. Für Eingabedatenströme legt fflush() sämtliche gepufferten Daten ab, die aus der zugrundeliegenden Datei abgeholt, aber nicht durch die Anwendung verarbeitet wurden. Der »geöffnet«-Status des Datenstroms ist nicht davon betroffen.

Falls das Argument datenstrom NULL ist, leert fflush() alle Ausgabedatenströme.

Für ein nicht sperrendes Gegenstück siehe unlocked_stdio(3).

RÜCKGABEWERT
Nach erfolgreichem Programmablauf wird 0 zurückgegeben. Andernfalls wird EOF zurückgegben und errno dem Fehler entsprechend gesetzt.

FEHLER

EBADF
    datenstrom ist kein geöffneter Datenstrom oder nicht zum Schreiben geöffnet.

Die Funktion fflush() kann auch fehlschlagen und errno für jeden Fehler setzen, die für write(2) spezifiziert wurden.

ATTRIBUTE

  Multithreading (siehe pthreads(7))
Die Funktion fflush() ist multithread-fähig.

KONFORM ZU
C89, C99, POSIX.1-2001, POSIX.1-2008. Kein Standard legt das Verhalten von Eingabedatenströmen fest. Die meisten anderen Implementierungen verhalten sich wie Linux.

ANMERKUNGEN
Beachten Sie, dass fflush() nur die von der C-Bibliothek bereitgestellten Puffer innerhalb des Prozesses leert. Um sicherzustellen, dass die Daten physisch auf der Platte gespeichert werden, müssen auch die Kernel-Puffer geleert werden, beispielsweise mit sync(2) oder fsync(2).

SIEHE AUCH
fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3)

KOLOPHON
This page is part of release 3.70 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org> und Chris Leick <c.leick@vollbio.de> 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 <debian-l10n-german@lists.debian.org>.