Scroll to navigation

FGETWS(3) Podręcznik programisty Linuksa 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.13 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 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.

22 marca 2021 r. GNU