- bookworm 4.18.1-1
- bookworm-backports 4.22.0-1~bpo12+3
- testing 4.22.0-1
- unstable 4.22.0-1
fgetws(3) | Library Functions Manual | fgetws(3) |
ИМЯ¶
fgetws - читает строку широких символов из потока FILE
LIBRARY¶
Standard C library (libc, -lc)
СИНТАКСИС¶
#include <wchar.h>
wchar_t *fgetws(wchar_t ws[restrict .n], int n, FILE *restrict stream);
ОПИСАНИЕ¶
Функция fgetws() — это эквивалент fgets(3), но работающий со строками широких символов. Она читает строку из не более чем n-1 широких символов, записывает её в массив широких символов ws и добавляет завершающий широкий символ null (L'\0'). Она прекращает чтение после обнаружения и записи широкого символа новой строки. Это также происходит и в случае достижения конца потока.
Программист должен убедиться в том, что выделил для ws память, достаточную для записи не менее n широких символов.
Неблокирующий аналог смотрите в unlocked_stdio(3).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Функция fgetws() в случае удачного выполнения возвращает ws. Если достигнут конец потока или возникает ошибка, то возвращается NULL.
АТРИБУТЫ¶
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
fgetws() | Безвредность в нитях | MT-Safe |
СТАНДАРТЫ¶
POSIX.1-2001, POSIX.1-2008, C99.
ЗАМЕЧАНИЯ¶
Поведение fgetws() зависит от категории LC_CTYPE текущей локали.
Из-за отсутствия дополнительной информации, передаваемой в fopen(3), закономерно ожидать, что fgetws() на самом деле читает многобайтовую строку из потока, а затем преобразует её в широкую строку.
Данная функция ненадёжна, так как не позволяет правильно обработать ситуацию, когда во входных данных появляется широкий символ null.
СМ. ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 декабря 2022 г. | Linux man-pages 6.02 |