首页 > 解决方案 > 使用 repl.it 将非 ASCII 字符输出到 C++ 中的控制台

问题描述

我正在使用 repl.it 来编辑和编译一些 C++ 代码。我想将 obelus(除号)输出到控制台。下面的代码应该做到这一点。

char div_sign ='\366';
cout << div_sign << endl;

这适用于 Visual Studio,据我所知,它应该适用于任何编译器。但是,我没有得到正确的输出。我唯一能想到的是repl不使用OEM字符集。有什么建议可以让它在 repl 中正常工作吗?

标签: c++repl.it

解决方案


我唯一能想到的是repl不使用OEM字符集

这是对的。

\366( 0xF6, 246) 是 OEM-US/CP437 代码页中 ÷ 的字符代码。

repl.it 将您写入的内容std::cout视为 UTF-8。相同字符的 Unicode 代码点是\367( 0xF7, 247)。

将其编码为 UTF-8 给我们:

  std::cout << "\303\267";

在 repl.it 上给出了预期的输出


推荐阅读