fgetws()

Считать строку широких символов из потока

Прототип:

#include <wchar.h>
wchar_t * fgetws( wchar_t *buf,
int n,
FILE *fp );

Аргументы:

buf
Указатель на буфер, в котором fgetws() может разместить считанные широкие символы.
n
Максимальное количество считываемых символов.
fp
Поток, из которого считываются символы.

Библиотека:

libc

Описание:

Функция fgetws() считывает строку широких символов из потока, определяемого fp, и размещает ее в массиве, определяемом buf.

Чтение широких символов останавливается при достижении одного из следующих условий:

Функция fgetws() размещает NUL в конце строки.


Note: Не стоит предполагать, что все строки содержат символ новой строки. Символ новой строки может отсутствовать, если перед ним расположено больше, чем n-1 символов.

Также символ новой строки может отсутствовать в качестве последнего символа, если достигнут конец файла.


Возвращаемое значение:

NULL
Возникла ошибка или поток достиг конца файла. Код ошибки записан в errno.
buf
Успешное завершение.


Note: Следует использовать feof() или ferror(), чтобы отличить условие конца файла от ошибки.

Коды ошибок:

EAGAIN
Флаг O_NONBLOCK установлен для потока fp и будет заблокирован данной операцией.
EBADF
Файловый дескриптор, определенный fp, недоступен для чтения.
EINTR
Сигнал прервал операцию чтения; данные не будут переданы.
EIO
Возникла физическая ошибка ввода/вывода или процесс запущен в фоне и блокирован или игнорируется.
EOVERFLOW
Невозможно считать данные по максимальному смещению или за границами данного потока.

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

errno, feof(), ferror(), fgets(), fputwc(), fputws(), fwide(), gets()




Предыдущий раздел: Описание API системной библиотеки