ferror(3)

NAZWA
clearerr, feof, ferror - sprawdza i zmienia stan strumienia

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <stdio.h>

void clearerr(FILE *stream);
int feof(FILE *stream);
int ferror(FILE *stream);

OPIS
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).

WARTOŚĆ ZWRACANA
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.

BŁĘDY
Funkcje te nie powinny nigdy zawieść i nie ustawiają errno.

ATRYBUTY
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

STANDARDY
C11, POSIX.1-2008.

HISTORIA
C89, POSIX.1-2001.

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

ZASTRZEŻENIA
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).

ZOBACZ TAKŻE
open(2), fdopen(3), fileno(3), stdio(3), unlocked_stdio(3)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.