wctob
Определяет, соответствует ли расширенный символ многобайтовому символу, и возвращает его представление в многобайтовой кодировке.
Синтаксис
int wctob(
wint_t wchar
);
Параметры
wchar
Значение, которое необходимо преобразовать.
Возвращаемое значение
Если wctob
он успешно преобразует широкий символ, он возвращает его многобайтовое представление только в том случае, если многобайтовый символ является одним байтом. Если wctob
встречается широкий символ, он не может преобразоваться в многобайтовый символ или если многобайтовый символ не является одним байтом, он возвращает значение -1.
Замечания
Функция wctob
преобразует широкий символ, содержащийся в wchar
соответствующем многобайтовом символе, передаваемом int
возвращаемым значением, если многобайтовый символ является одним байтом.
Если функция wctob
завершилась неудачно и соответствующий многобайтовый символ не найден, функция устанавливает для параметра errno
значение EILSEQ
и возвращает значение –1.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
Маршрут | Обязательный заголовок |
---|---|
wctob |
<wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
Эта программа иллюстрирует поведение функции wctob
.
// crt_wctob.c
#include <stdio.h>
#include <wchar.h>
int main( void )
{
int bChar = 0;
wint_t wChar = 0;
// Set the corresponding wide character to exactly one byte.
wChar = (wint_t)'A';
bChar = wctob( wChar );
if (bChar == WEOF)
{
printf( "No corresponding multibyte character was found.\n");
}
else
{
printf( "Determined the corresponding multibyte character to"
" be \"%c\".\n", bChar);
}
}
Determined the corresponding multibyte character to be "A".
См. также
Преобразование данных
Локаль
_mbclen
, , mblen
_mblen_l
mbstowcs
, _mbstowcs_l
mbtowc
, _mbtowc_l
wctomb
, _wctomb_l
WideCharToMultiByte