fgetwc, getwc - odczytuje szeroki znak ze strumienia FILE
Standardowa biblioteka C (
libc,
-lc)
#include <stdio.h>
#include <wchar.h>
wint_t fgetwc(FILE *stream);
wint_t getwc(FILE *stream);
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).
On success,
fgetwc() returns the next wide-character from the stream.
Otherwise,
WEOF is returned, and
errno is set to indicate the
error.
Oprócz zwykłych jest jeszcze
- EILSEQ
- Dane otrzymane ze strumienia wejściowego nie
tworzą prawidłowego znaku.
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-Safe |
POSIX.1-2001, POSIX.1-2008, C99.
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.
fgetws(3),
fputwc(3),
ungetwc(3),
unlocked_stdio(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Andrzej Krzysztofowicz <
[email protected]>, Robert
Luberda <
[email protected]> i Michał Kułach
<
[email protected]>
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
[email protected]