📜  C C++中的btowc()函数与示例(1)

📅  最后修改于: 2023-12-03 14:39:37.058000             🧑  作者: Mango

C C++中的btowc()函数与示例

在C与C++中,btowc()函数用于将字符转换为宽字符。

函数原型
wint_t btowc(int c);
参数说明

| 参数 | 说明 | | ---- | ------------------------------------------------------------ | | c | 要转换为宽字符的字符。如果参数c是EOF,返回值为WEOF。 |

返回值

| 返回值 | 说明 | | --------- | ------------------------------------------------------------ | | 非零值 | 成功将参数c转换成的宽字符。 | | WEOF(-1) | 参数c为EOF时,返回WEOF。 | | WCTRANS_N | 当btowc()函数遇到不可映射字符时,返回WCTRANS_N。其中,N为0到15之间的数字。 |

示例
#include <iostream>
#include <cwctype>


int main()
{
    char c = 'A';
    wchar_t wc = btowc(c);
    std::wcout << wc << std::endl;
    
    return 0;
}

在此示例中,我们将一个字符'A'通过btowc()函数转换成宽字符,并输出到标准输出流中。需要注意的是,在此示例中,输出需要使用广域字符集而非窄字符集,所以我们使用std::wcout而非std::cout输出。

总结

我们可以使用btowc()函数将字符转换成宽字符,注意到当btowc()函数遇到不可映射字符时,返回的值是-WCTRANS_N,其中N是一个数字。