ferror(3) Library Functions Manual ferror(3)

clearerr, feof, ferror - sprawdza i zmienia stan strumienia

Standardowa biblioteka C (libc, -lc)

#include <stdio.h>
void clearerr(FILE *stream);
int feof(FILE *stream);
int ferror(FILE *stream);

Funkcja clearerr() usuwa znaczniki końca pliku i błędu dla strumienia wskazywanego przez stream.

Funkcja feof() sprawdza znacznik końca pliku dla strumienia wskazywanego przez stream, zwracając wartość niezerową, jeśli jest ustawiony. Znacznik końca pliku może zostać usunięty tylko za pomocą funkcji clearerr().

Funkcja ferror() sprawdza znacznik błędu dla strumienia wskazywanego przez stream, zwracając wartość niezerową, jeśli jest ustawiony. Znacznik błędu może zostać usunięty tylko za pomocą funkcji clearerr().

Informacje o nieblokujących odpowiednikach znajdują się w unlocked_stdio(3).

Funkcja feof() zwraca wartość niezerową, gdy dla stream ustawiony jest znacznik końca pliku; w przeciwnym przypadku zwraca zero.

Funkcja ferror() zwraca wartość niezerową, gdy dla stream ustawiony jest znacznik błędu; w przeciwnym przypadku zwraca zero.

Funkcje te nie powinny nigdy zawieść i nie ustawiają errno.

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
clearerr(), feof(), ferror() Bezpieczeństwo wątkowe MT-bezpieczne

C11, POSIX.1-2008.

C89, POSIX.1-2001.

POSIX.1-2008 określa, że funkcje te nie powinny zmieniać wartości errno, jeśli stream jest prawidłowy.

Programy powinny zwykle odczytywać wartość zwracaną funkcji wejściowej, takiej jak fgetc(3), przed używaniem funkcji z rodziny feof(3). Jedynie po zwróceniu przez funkcję wartości EOF, nabiera sensu rozróżnianie pomiędzy końcem pliku a błędem, za pomocą feof(3) lub ferror(3).

open(2), fdopen(3), fileno(3), stdio(3), unlocked_stdio(3)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

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.

2 maja 2024 r. Linux man-pages 6.8