fflush(3) Library Functions Manual fflush(3) NAZWA fflush - wyproznienie buforow strumienia BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int fflush(FILE *_Nullable stream); OPIS Uzyta na strumieniach wyjsciowych funkcja fflush() wymusza zapis wszystkich danych buforowanych w przestrzeni uzytkownika dla danego wyjscia lub aktualizacje strumienia stream za pomoca nalezacej do niego funkcji zapisu. W przypadku strumieni wejsciowych skojarzonych z plikami, po ktorych mozna sie przesuwac (na przyklad pliki dyskowe, ale nie potoki czy terminale) fflush() usuwa wszelkie dane, ktore zostaly odczytane z pliku, ale jeszcze nie zostaly pobrane przez aplikacje. Stan otwarcia strumienia nie jest zmieniany (tj. pozostaje on nadal otwarty). Jesli argument stream jest rowny NULL, to fflush() wyproznia wszystkie otwarte strumienie wyjsciowe. Informacje o nieblokujacych odpowiednikach znajduja sie w unlocked_stdio(3). WARTOSC ZWRACANA Jesli funkcja zakonczyla sie pomyslnie, zwracane jest 0. W przeciwnym przypadku zwracana jest wartosc EOF, a errno przyjmuje wartosc wskazujaca na rodzaj bledu. BLEDY EBADF stream nie jest otwartym strumieniem lub nie jest otwarty do zapisu. Funkcja fflush() moze takze zawiesc i ustawic wartosc errno na dowolny blad wymieniony okreslony dla write(2). ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |fflush() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY C11, POSIX.1-2008. HISTORIA C89, POSIX.1-2001, POSIX.1-2008. POSIX.1-2001 nie okresla zachowania podczas oprozniania strumieni wejsciowych; zostalo to opisane w standardzie POSIX.1-2008. UWAGI Nalezy zauwazyc, ze fflush() oproznia jedynie bufory w przestrzeni uzytkownika obslugiwane przez biblioteke C. Aby upewnic sie, ze dane zostaly fizycznie zapisane na dysku, nalezy zrzucic rowniez bufory jadra, np. za pomoca sync(2) lub fsync(2). ZOBACZ TAKZE fsync(2), sync(2), write(2), fclose(3), fileno(3), fopen(3), fpurge(3), setbuf(3), unlocked_stdio(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Adam Byrtek , Andrzej Krzysztofowicz i Robert Luberda Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. fflush(3)