FFLUSH(3)

NAZWA
fflush - wypróżnienie buforów strumienia

SKŁADNIA
#include <stdio.h>

int fflush(FILE *stream);

OPIS
Funkcja fflush wymusza zapis wszystkich buforowanych danych dla danego strumienia wyjściowego stream poprzez podległą strumieniowi funkcję zapisu. Stan strumienia nie jest zmieniany, jest on nadal otwarty.

Jeśli argument stream jest równy NULL, fflush wypróżnia wszystkie otwarte strumienie wyjściowe. Informacje o nieblokującym odpowiedniku znajdują się w unlocked_stdio(3).

WARTOŚĆ ZWRACANA
Jeśli funkcja zakończyła się pomyślnie zwracane jest 0. W przeciwnym przypadku zwracana jest wartość EOF, a zmienna globalna errno przyjmuje wartość określającą rodzaj błędu.

BŁĘDY

EBADF
    Strumień stream nie jest otwarty lub nie jest otwarty do zapisu.

Funkcja fflush() może także zawieść i ustawić wartość errno na dowolny błąd wymieniony w opisie funkcji write(2).

UWAGI
Należy zauważyć, że fflush opróżnia jedynie bufory w przestrzeni użytkownika obsługiwane przez bibliotekę C. Aby upewnić się, że dane zostały fizycznie zapisane na dysku, należy zrzucić rownież bufory jądra, np. za pomocą sync(2) lub fsync(2).

ZGODNE Z
Funkcja fflush() jest zgodna ze standardem ANSI X3.159-1989 (``ANSI C'').

ZOBACZ TAKŻE
fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3)