Поделиться через


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