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 (zapisując wszystkie zbuforowane dane wyjściowe za pomocą fflush(3)) i zamyka deskryptor pliku przypisanego do strumienia.

Zachowanie funkcji fclose() nie jest zdefiniowane, jeśli parametr stream nie jest poprawnym wskaźnikiem lub jeśli został już przekazany do wcześniejszego wywołania fclose().

WARTOŚĆ ZWRACANA
Jeśli funkcja zakończyła się pomyślnie, zwracane jest 0. W przeciwnym przypadku zwracana jest wartość EOF, a errno przyjmuje wartość, wskazującą na rodzaj błędu. 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).

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
fclose() | Bezpieczeństwo wątkowe | MT-Safe

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

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ć również bufory jądra, np. za pomocą sync(2) lub fsync(2).

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

O STRONIE
Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) <alpha@irc.pl>, Andrzej M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.