C语言中char占用8个字节,而单个汉字占用16个字节,这导致在输入输出上会有些许错误。。。
利用wchar_t可以储存汉字到一块空间里而不是像char需要两块空间
注: 在输出前需要将环境转换为中文,在代码前加入 setlocale(LC_ALL, "");
(包含在头文件locale.h)
输入:wprintf(L"%ls", s);
输出:wprintf(L"%ls", s);
如果需要输出单个汉字,同理使用 wprintf(L"%lc", message);
实例:
includeinclude int main(char argv, char* args){ setlocale(LC_ALL, ""); wchar_t s[256]; wscanf(L"%ls", s); //输入 wprintf(L"%lc", s[2]); //输出 return 0; }
结果:
IN:你好世界! OUT:世
(第一次写文章,如果哪里手抖写错了还请包涵)



