table of contents
- bullseye 1:4.10.0-1
- bullseye-backports 1:4.18.1-1~bpo11+1
- testing 1:4.18.1-1
- unstable 1:4.18.1-1
FFLUSH(3) | Podręcznik programisty Linuksa | FFLUSH(3) |
NAZWA¶
fflush - wypróżnienie buforów strumienia
SKŁADNIA¶
#include <stdio.h>
int fflush(FILE *stream);
OPIS¶
Użyta na strumieniach wyjściowych funkcja fflush() wymusza zapis wszystkich danych buforowanych w przestrzeni użytkownika dla danego wyjścia lub aktualizację strumienia stream za pomocą należącej do niego funkcji zapisu.
W przypadku strumieni wejściowych skojarzonych z plikami, po których można się przesuwać (na przykład pliki dyskowe, ale nie potoki czy terminale) fflush() usuwa wszelkie dane, które zostały odczytane z pliku, ale jeszcze nie zostały pobrane przez aplikację.
Stan otwarcia strumienia nie jest zmieniany (tj. pozostaje on nadal otwarty).
Jeśli argument stream jest równy NULL, to fflush() wypróżnia wszystkie otwarte strumienie wyjściowe.
Informacje o nieblokujących odpowiednikach 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 errno przyjmuje wartość wskazującą na rodzaj błędu.
BŁĘDY¶
- EBADF
- stream nie jest otwartym strumieniem lub nie jest otwarty do zapisu.
Funkcja fflush() może także zawieść i ustawić wartość errno na dowolny błąd wymieniony określony dla write(2).
ATRYBUTY¶
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość |
fflush() | Bezpieczeństwo wątkowe | MT-Safe |
ZGODNE Z¶
C89, C99, POSIX.1-2001, POSIX.1-2008.
POSIX.1-2001 nie określa zachowania podczas opróżniania strumieni wejściowych; zostało to opisane w standardzie POSIX.1-2008.
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ć również bufory jądra, np. za pomocą sync(2) lub fsync(2).
ZOBACZ TAKŻE¶
fsync(2), sync(2), write(2), fclose(3), fileno(3), fopen(3), setbuf(3), unlocked_stdio(3)
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 5.10 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 są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
15 września 2017 r. | GNU |