c++ - 如何在控制台窗口打印这个字 "☻"?(c/c++)

标签 c++

wcout.imbue(std::locale("chs"));
wchar_t *a = L"☻";
wcout << *a;

这行不通,为什么?我该怎么办?

最佳答案

可能的错误:

  • 您的编译器可能无法将 L"☻" 识别为源文件中的 unicode 字符串。
  • 你的主机不支持

您可以改用 unicode 字符代码 ("\u263B")。确保控制台支持 unicode 并且字体具有相应的字符。

使用 unicode character literals 也可能更容易(取决于编译器支持)对于 C++ 11;

char a[] = u8"My \u263B character";
cout << a;

关于c++ - 如何在控制台窗口打印这个字 "☻"?(c/c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36710229/

相关文章:

c++ - fork() 到底在做什么?在我的 C++ 程序中

c++ - 计算机中的文件组织/位置

c++ - 接受对任何类型的可变引用的 Lambda

c++ - 在 constexpr 函数中声明为静态的文字字符串

c++ - float 组的中间模式平均计算

c++ - 类型元组可以稍后解包吗?

c++ - 以十六进制表示法 (0xABCDEF) 打印字节缓冲区的字节到控制台输出流

c++ - 检查输入是否为字母数字时出现逻辑错误

c++ - C++ 中的生成器——非静态数据成员的无效使用

c++ - 带有实现的纯虚函数