- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
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);
ОПИСАНИЕ¶
The fgetws() function is the wide-character equivalent of the fgets(3) function. It reads a string of at most n-1 wide characters into the wide-character array pointed to by ws, and adds a terminating null wide character (L'\0'). It stops reading wide characters after it has encountered and stored a newline wide character. It also stops when end of stream is reached.
Программист должен убедиться в том, что выделил для 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.
5 февраля 2023 г. | Linux man-pages 6.03 |