我刚刚下载了Visual Studio 2019,但我遇到了字符串编码问题。这是我在C++中的代码:
cout << "èà" << "\n" << endl;
string str;
cout << "Write something: "
cin >> str;
cout << str << endl
字符串
第一行的输出是:
èà
型
如果我在第5行输入给予“èà”,输出是:
èà
型
我不明白为什么。你能帮帮我吗?
源文件编码是UTF-8,我已经检查过了。
请在您的回答中具体说明,因为我刚刚开始使用Visual Studio。
1条答案
按热度按时间ttisahbt1#
STD C++ 20溶液:
字符串
MSVC需要以下标志:
型
如果你不添加这些标志,它将永远无法正确打印字符,这个问题似乎不会发生在clang上。
问题是,如果没有设置所描述的标志,控制台中的字符打印不正确,但实际上,从STD 20开始的操作将是UTF-8,类似于现代Linux操作系统。