【问题标题】:How can I add a ಠ symbol into my C++ output如何在我的 C++ 输出中添加 ಠ 符号
【发布时间】:2014-05-04 00:55:14
【问题描述】:

我正在为学校编写一个程序,并且想包含一个看起来不赞成的复活节彩蛋 (ಠ_ಠ),但是,我不知道 C++ 中的哪些类支持这个字符。我会假设这个字符包含在 unicode 中,但我不确定如何使用它来输出到控制台应用程序。

如果有人能帮我解决这个问题,我将不胜感激。谢谢

【问题讨论】:

  • 注意:Windows 控制台无法显示此字符,除非有一些主要技巧,即更改控制台本身的设置和字体,这是程序无法完成的。
  • 在 Vista+ 上,有SetCurrentConsoleFontEx()

标签: c++ unicode console-application symbols


【解决方案1】:

您需要为您的应用程序启用 Unicode。 对于 MSVC,您可以使用 _setmode(_fileno(stdout), _O_U16TEXT);在你的主要开始。 但对于 mingw,这有点困难,请参阅 here

要实际打印它,您可以使用character code 并使用 wcout,但要小心!

发件人:http://www.cplusplus.com/reference/iostream/cout/

程序不应将 cout 上的输出操作与 wcout 上的输出操作(或与 stdout 上的其他面向宽的输出操作)混合:一旦对任一输出操作执行了输出操作,标准输出流将获取一个方向(窄或宽)只能通过在标准输出上调用 freopen 来安全地更改。

【讨论】:

    【解决方案2】:

    你可以使用\u0CA0,这是这个眼睛的Unicode代码。这是一个活生生的例子:

    int main() {
        cout << "hi \u0CA0_\u0CA0";
        return 0;
    }
    

    https://ideone.com/QBFtsM

    虽然 IDEOne 支持 unicode(例如,我可以粘贴 ),但我不确定这是否适合您。告诉我。

    【讨论】:

    • 更好用std::wcout
    • 显示的不是所需的结果,而是 ?_?
    • @user2255853 你用什么编译器?
    • Microsoft Visual Studio Express 2013
    • @user2255853 我没有 2013,但寻找类似于:项目属性 -> 常规 -> 项目默认值 -> 字符集的内容。到达那里后,打开多字节字符集 (Unicode)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多