fgetwc(3)

NAZWA
fgetwc, getwc - odczytuje szeroki znak ze strumienia FILE

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <stdio.h>
#include <wchar.h>

wint_t fgetwc(FILE *stream);
wint_t getwc(FILE *stream);

OPIS
Funkcja fgetwc() jest szerokoznakowym odpowiednikiem funkcji fgetc(3). Wczytuje szeroki znak ze stream i zwraca go. W razie natrafienia na koniec strumienia lub gdy ferror(stream) stanie się prawdziwe, zwraca WEOF. Jeśli wystąpi błąd konwersji znaku, ustawia errno na EILSEQ i również zwraca WEOF.

Funkcja lub makro getwc() zachowuje się identycznie jak fgetwc(). Może być zaimplementowane jako makro, więc może wskutek tego rozwijać swój argument więcej niż raz. Nie ma żadnego powodu, aby tej funkcji/makra używać.

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

WARTOŚĆ ZWRACANA
W przypadku powodzenia, fgetwc() zwraca następny szeroki znak pobrany ze strumienia. W przeciwnym przypadku zwracane jest WEOF i ustawiane errno, wskazując błąd.

BŁĘDY
Oprócz zwykłych jest jeszcze

EILSEQ
    Dane otrzymane ze strumienia wejściowego nie tworzą prawidłowego znaku.

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

STANDARDY
C11, POSIX.1-2008.

HISTORIA
POSIX.1-2001, C99.

UWAGI
Zachowanie fgetwc() zależy od kategorii LC_CTYPE bieżących ustawień regionalnych.

W przypadku nieprzekazania dodatkowych informacji przy wywołaniu fopen(3) rozsądne jest oczekiwanie, że fgetwc() faktycznie odczyta wielobajtowy łańcuch ze strumienia i przetworzy go na szeroki znak.

ZOBACZ TAKŻE
fgetws(3), fputwc(3), ungetwc(3), unlocked_stdio(3)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: 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.