FCLOSE(3)

NAZWA
fclose - zamknięcie strumienia

SKŁADNIA
#include <stdio.h>

int fclose(FILE *stream);

OPIS
Funkcja fclose odłącza strumień stream od pliku czy zestawu funkcji. Jeśli strumień był wykorzystywany do wyprowadzania danch, wszystkie buforowane dane są najpierw zapisywane za pomocą fflush(3).

WARTOŚĆ ZWRACANA
Jeśli funkcja zakończyła się pomyślnie, zwracane jest 0. W przeciwnym przypadku zwracana jest wartość EOF a globalna zmienna errno przyjmuje wartość oznaczającą błąd. W każdym przypadku następna próba dostępu (włączając w to kolejne wywołanie fclose()) do strumienia prowadzi do niezdefiniowanego zachowania.

BŁĘDY

EBADF
    Deskryptor pliku określający stream nie jest poprawny.

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

UWAGI
Należy zauważyć, że fclose 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 fclose jest zgodna ze standardem ANSI X3.159-1989 (`ANSI C').

ZOBACZ TAKŻE
close(2), fcloseall(3), fflush(3), fopen(3), setbuf(3)