wctomb - преобразует широкий символ в многобайтовую последовательность
wctomb(3)
преобразует широкий символ в многобайтовую последовательность
ОБЗОР
#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() возвращает не ноль,
если кодировка имеет необычное смещение, или ноль, если кодировка не имеет
смещения.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
wctomb()
безвредность в потоках: небезопасно (MT-Unsafe race)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, C99.
ЗАМЕЧАНИЯ
Поведение
wctomb() зависит от категории
LC_CTYPE текущей локали.
Функция wcrtomb(3) предоставляет лучший интерфейс с теми же
возможностями.