我正在尝试在控制台中打印一些“特殊”字符(大于127),但不知何故它不会被打印出来。
我有这个小代码片段:
#include <iostream>
int main()
{
std::wcout << L"a■■■■■■■■■■■a■■■■■■■■■■■■■■a" << std::flush;
return 0;
}
它打印'a'但然后......没有。如果我使用cout / string或wcout / wstring并不重要。 (对于cout我只看到“?”而在wcout中没有,它结束了流)
此角色的ascii代码为254。这里可以发生什么?我觉得打印好吗?
答案 0 :(得分:3)
从我在评论中链接的答案,我认为这是你的解决方案:
#include <fcntl.h>
#include <io.h>
_setmode(_fileno(stdout), _O_U8TEXT);