为什么printf无法打印出中文,必须setlocal(LC_ALL,_chs_)后才可以打印中文
原因是vc的crt最终调用WriteFile写输入输出流,WriteFile对于控制台句柄是调用WriteConsoleAWriteConsoleA使用当前控制台环境的代码页因此printf和wprintf最终都得用ANSI编码调用系统服务由于printf本身就是ansi,所以可以直接把字符串传给WriteFilewprintf则要把unicode字符串转成ansi,此时用的loc...
转载
2019-04-09 14:48:42 ·
1990 阅读 ·
0 评论