wctomb -
преобразует
широкий
символ в
многобайтовую
последовательность
Standard C library (
libc,
-lc)
#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)
предоставляет
лучший
интерфейс
с теми же
возможностями.
MB_CUR_MAX(3),
mblen(3),
mbstowcs(3),
mbtowc(3),
wcrtomb(3),
wcstombs(3)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]> и Yuri Kozlov
<
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]