我一直在尝试用 C++ 打印汉字。我已经在 Internet 上搜索过,有人说你必须使用 wcout
,其他人建议使用其他方法。我也偶然发现了 this post ,有人使用一段代码:
#include <iostream>
int main()
{
char x[] = "中";
char y[] = u8"中";
wchar_t z = L'中';
char16_t b = u'\u4e2d';
char32_t a = U'\U00004e2d';
std::cout << x << '\n';
std::cout << y << '\n';
std::wcout << z << '\n';
std::cout << a << '\n';
std::cout << b << '\n';
}
在显示 C++ 代码输出的 Internet 站点上,打印:
中
中
-
20013
20013
然而,对我来说它只是打印
õ©¡
õ©¡
20013
20013
我正在使用 JetBrains CLion,编码设置为 UTF-8。但是,我也尝试过 Visual Studio 和 QT Creator,我得到了相同的结果。我希望有人能帮助我。
最佳答案
如果您使用的是 OSX 终端,也许您可以检查编码。
终端 -> 首选项 -> 编码选项卡
然后检查是否勾选了繁体中文或者Unicode(UTF-8)。
对于 Windows,您可以试试这个,更改为 UTF-8 编码。
转到“开始”,然后运行“regedit”-> 导航到 [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun] -> 将值修改为“chcp 65001”
希望这对您有所帮助。
关于c++ - 在 C++ 中打印汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46183350/