方法一:
程序开始时先调用setlocale()
setlocale(LC_ALL, "chs"); //参数"chs"表示是中文
方法二:
不用wprintf()使用WriteConsoleW()替代
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"中文中文", 4, 0, 0);
另外有种常遇到的乱码是UTF8输出时乱码
这种情况导致的乱码可以使用先调用system("chcp 65001")或SetConsoleCP(65001)来解决,不过这会导致非UTF8的内容输出时乱码。所以想要两者共存可以先将utf8转换成ANSI或UNICODE或反向转换保持一致。另外输出前总是先切换代码应该也行,但未测试过