C语言怎么给一个变量赋值中文?

2020-06-14 科技 159阅读

一个汉字占用的内存至少为2字节,因此对多字节字符集和宽字符集来说,表示汉字的方式也略有不同:

多字节字符集的基本数据类型是char,占1字节,因此char无法表示一个汉字,只能用字符串来表示:

char a = '你'; //错误,一个汉字至少占2字节
char b[] = "好"; //正确

宽字符集的基本数据类型是wchar_t,通常占2字节,采用Unicode编码,可以表示汉字:

wchar_t a = L'你'; //正确
wchar_t b[] = L"好"; //正确

此外,采用多字节字符集表示汉字时,还需要注意源代码文件本身的编码是否和系统默认的字符集一致,否则可能导致乱码。例如在Windows下,源代码文件应该用GB-2312字符集编码。如果用UTF-8编码,就可能导致编译或运行时的乱码问题。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com