table of contents
WCTOMB(3) | Руководство программиста Linux | WCTOMB(3) |
ИМЯ¶
wctomb - преобразует широкий символ в многобайтовую последовательность
ОБЗОР¶
#include <stdlib.h> int wctomb(char *s, wchar_t wc);
ОПИСАНИЕ¶
Если значение s не равно NULL, то функция wctomb() преобразует широкий символ wc в его многобайтовое представление и сохраняет его в начале массива символов, на который указывает s. Изменяется переменная смещения, которая хранится в статической анонимной переменной, известной только функции wctomb, затем возвращается длина полученного многобайтового представления, т.е. число байтов, записанных в s.
Программист должен убедиться, что в s существует достаточно места хотя бы для записи MB_CUR_MAX байт.
Если значение s равно NULL, то функция wctomb() обнуляет состояние смещения (известное только этой функции), переводя его начальное положение, и возвращает ненулевое значение, если кодировка имеет необычное смещение; ноль будет возвращён, если кодировка не имеет смещения.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Если значение s не равно NULL, то функция wctomb() возвращает количество байтов, записанных в байтовый массив по адресу s. Если wc не может быть представлен в виде многобайтовой последовательности (в соответствии с текущей системной локалью), то возвращается -1.
Если значение s равно NULL, то функция wctomb() возвращает не ноль, если кодировка имеет необычное смещение, или ноль, если кодировка не имеет смещения.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
C99.
ЗАМЕЧАНИЯ¶
Поведение wctomb() зависит от категории LC_CTYPE текущей локали.
Данную функцию небезопасно использовать в нитях. Для этого лучше подходит функция wcrtomb(3) с тем же интерфейсом.
СМОТРИТЕ ТАКЖЕ¶
1999-07-25 | GNU |