FFLUSH(3)

BEZEICHNUNG
fflush, fpurge - leere einen Dateistrom

ÜBERSICHT
#include <stdio.h>

int fflush( FILE *stream);
int fpurge( FILE *stream);

BESCHREIBUNG
Die Funktion fflush bewirkt, dass alle gepufferten Daten des angegebenen stream mittels der zugrundeliegenden write-Funktion geschrieben werden. Der Status des stream wird dabei nicht berührt. Wenn der stream-Parameter NULL ist, leert fflush alle geöffneten Ausgabe-Ströme. (Gilt das auch für Linux?) Die Funktion fpurge löscht jeden In- oder Output, der für den angegebenen stream gepuffert wird. Dieses verwirft alle noch nicht geschriebenen Daten eines Ausgabestroms. Bei Eingabeströmen verwirft dieses alle Eingaben, die zwar vom zugrundeliegenden Objekt gelesen wurden, auf die jedoch noch nicht mittels getc(3) zugegriffen wurde. Dieses schließt auch Text mit ein, der mit ungetc zurückgegeben wurde.

RÜCKGABEWERT
Bei erfolgreicher Ausführung wird 0 zurückgegeben, ansonsten EOF und die globale Variable errno wird so gesetzt, dass sie den Fehler anzeigt.

FEHLER

EBADF
    Der stream ist kein geöffneter Datenstrom oder, im Fall von fflush, kein Datenstrom, der zum Schreiben geöffnet ist. Die Funktion fflush kann ebenfalls fehlschlagen, setzt jedoch errno entsprechend des Fehlers, der für die Routine write(2) definiert wurde.

BUGS
Linux unterstützt eventuell nicht fpurge.

KONFORM ZU
Die fflush Routine ist konform zu ANSI C3.159-1989 (``ANSI C'').

SIEHE AUCH
write(2), fopen(3), fclose(3), setbuf(3).