当前位置: C语言 -- 标准库 -- <wchar.h> -- wctob

wctob函数


概要:
#include <wchar.h>
int wctob(wint_t c);

描述:

该函数将宽字符转换为单字节字符,可用于确定参数c是否对应于扩展字符集的某个成员,该成员在初始移位状态时其多字节字符表示形式是单个字节。

绝大多数多字节字符编码(例如:UTF-8编码)使用单个字节编码ASCII字符


参数:
wint_t c

wint_t类型整数,该值会内部转换为wchar_t类型。


返回值:

如果参数c不存在对应的初始移位状态下的单字节字符,函数返回EOF;否则函数返回该字符的单字节表示(unsigned char类型),该表示形式会被提升为int类型。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
/*函数wctob范例*/

#include <locale.h>
#include <stdio.h>
#include <wchar.h>

/*声明函数。*/
void func(wint_t wc);

int main(void)
{
    setlocale(LC_ALL, "");

    func(L'A');
    func(L'');
    
    return 0;
}

/*定义函数。*/
void func(wint_t wc)
{
    if(wctob(wc) == EOF)
        wprintf(L"L\'%lc\'不存在对应的初始移位状态下的单字节字符。\n", wc);
    else
        wprintf(L"L\'%lc\'存在对应的初始移位状态下的单字节字符。\n", wc);
}


输出:

L'A'存在对应的初始移位状态下的单字节字符。

L'国'不存在对应的初始移位状态下的单字节字符。


相关内容:
btowc 将单字节字符转换为宽字符的函数。