【发布时间】:2020-08-03 13:33:43
【问题描述】:
我正在使用 Visual Studio for C++,当使用 alt 符号时,它返回 ?。为什么?
【问题讨论】:
-
cpp文件的编码和显示输出的控制台不同。
-
@tni 你为什么认为这是个问题?
标签: c++ windows visual-studio
我正在使用 Visual Studio for C++,当使用 alt 符号时,它返回 ?。为什么?
【问题讨论】:
标签: c++ windows visual-studio
你可以使用
setlocale(LC_CTYPE, 编码你需要的东西);
也许不是最好但简单的选项来设置我们想要的控制台编码输出。
【讨论】:
您没有为您的程序设置任何支持的编码,并且它通常不在控制台中使用,这就是您收到错误的原因。虽然,这仍然是可能的。
你可以借助fcntl.h库:
#include <iostream>
#include <fcntl.h>
int main(int) {
_setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"Hello, \u2663!\n";
return 0;
}
注意:您可以在Wikipedia中找到完整的Unicode字符集列表。
它会正确打印符号:
Hello, ♣!
以图片为例:
【讨论】: