wctob

确定宽字符是否对应于多字节字符并返回其多字节字符表示。

int wctob(
   wint_t wchar
);

参数

  • wchar
    要转换的值。

返回值

如果 wctob 成功转换宽字符,则返回它的多字节字符表示,这仅在多字节字符长恰好为一个字节。 如果wctob 遇到宽字符字符,它无法转换为多字节字符或多字节字符不止一个字节,则返回 a-1。

备注

如果多字节字符长恰好为一个字节,wctob 函数通过返回 int 值,将wchar 包含的宽字符转换为传递的对应的多字节字符。

如果 wctob 不成功,并且对应的多字节字符未找到,函数将 errno 设置为 EILSEQ 并返回 -1。

要求

例程

必需的标头

wctob

<wchar.h>

有关其他兼容性信息,请参见“简介”中的兼容性

示例

此程序阐述 wcstombs 函数的行为。

// 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);
    }
}
  

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例

请参见

参考

数据转换

区域设置

_mbclen、mblen、_mblen_l

mbstowcs、_mbstowcs_l

mbtowc、_mbtowc_l

wctomb、_wctomb_l

WideCharToMultiByte