fgetws(3)

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

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <wchar.h>

wchar_t *fgetws(int n;
         wchar_t ws[restrict n], 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 wiersza. 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-bezpieczne

STANDARDY
C11, POSIX.1-2008.

HISTORIA
POSIX.1-2001, 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)

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.