FGETWS(3)

NAZWA
fgetws - odczytuje łańcuch szerokich znaków ze strumienia FILE

SKŁADNIA
#include <wchar.h>

wchar_t *fgetws(wchar_t *restrict ws, int n, FILE *restrict stream);

OPIS
Funkcja fgetws() jest szerokoznakowym odpowiednikiem funkcji fgets(3). Wczytuje łańcuch zawierający co najwyżej n-1 szerokich znaków do tablicy szerokich znaków wskazywanej przez ws oraz dodaje znak końca łańcucha (L'\0'). Kończy czytanie, gdy natrafi na szeroki znak końca linii. Znak ten jest wczytywany do tablicy. Kończy również w razie napotkania końca strumienia.

Programista musi zapewnić w ws miejsce na co najmniej n szerokich znaków.

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

WARTOŚĆ ZWRACANA
Funkcja fgetws() w przypadku pomyślnego zakończenia zwraca ws. W razie natrafienia na koniec strumienia lub wystąpienia błędu zwraca NULL.

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

ZGODNE Z
POSIX.1-2001, POSIX.1-2008, C99.

UWAGI
Zachowanie fgetws() 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 fgetws() faktycznie odczyta wielobajtowy łańcuch ze strumienia i przetworzy go na szeroki znak.

Na funkcji tej nie można polegać, gdyż nie pozwala na prawidłowe traktowanie szerokich znaków null, które mogą się pojawić na wejściu.

ZOBACZ TAKŻE
fgetwc(3), unlocked_stdio(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.11 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: 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 manpages-pl-list@lists.sourceforge.net.