示例代码:
int main(int argc, char *argv[]){
int x = sizeof(wchar_t);
printf("%i\n",x);
wchar_t t = 0x011E;
printf("%c\n\n",t);
wchar_t a = 0x0041;
printf("%c\n\n",a);
}
将打印:
4
A
0x011E是角色ğ的UTF-16 code。为什么不打印?
答案 0 :(得分:0)
当你打印一个char时,你实际上只是将它的代码发送到控制台。和控制台渲染器使用自己的字符表解释此代码。所以你必须在源代码和控制台中使用相同的编码。
如果您正在运行Windows,请参阅here如何更改cmd.exe中的编码。