fgetwc - считывает широкий символ из потока FILE
fgetwc(3)
считывает широкий символ из потока FILE
Other Alias
getwc
ОБЗОР
#include <stdio.h>
#include <wchar.h>
wint_t fgetwc(FILE *stream);
wint_t getwc(FILE *stream);
ОПИСАНИЕ
Функция
fgetwc() — это эквивалент функции
fgetc(3), но для широких
символов. Она читает широкий символ из
stream и возвращает его. Если
достигнут конец потока или значение
ferror(stream) истинно, то функция
возвращает
WEOF. Если при преобразовании в широкий символ возникает
ошибка, то значение переменной
errno устанавливается равным
EILSEQ и
возвращается
WEOF.
Функция getwc() — это функция, или макрос, идентичный fgetwc(). Она
может быть реализована в виде макроса, и может вычислять свой аргумент более
одного раза. Вообще нет смысла использовать эту функцию.
Неблокирующие аналоги смотрите в unlocked_stdio(3).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция
fgetwc() возвращает следующий широкий символ из потока или
WEOF. При ошибке в
errno записывается соответствующее значение.
ОШИБКИ
Кроме обычных могут возникать:
EILSEQ
Данные, полученные из входного потока, не содержат корректного символа.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
fgetwc(),
getwc()
безвредность в потоках: безвредно (MT-Safe)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, C99.
ЗАМЕЧАНИЯ
Поведение
fgetwc() зависит от категории
LC_CTYPE текущей локали.
Из-за отсутствия дополнительной информации, передаваемой в fopen(3),
закономерно ожидать, что fgetwc() на самом деле читает многобайтовую
последовательность из потока, а затем преобразует её в широкий символ.