因此,当前我最近正在使用Unicode。 我见过其他人也面临同样的问题,但到目前为止,没有答案能解决我的问题。
目前的目标是能够在Windows控制台窗口中打印:¯
。
该字符称为“ MACRON”,其Unicode码为U + 00AF。
起初,我简单地写道:cout << "some irrelevant text lorem ipsum etc... \u00AF" << endl;
但是,这最终反省了我,Windows控制台窗口显示了一个看上去很T的古怪难以形容的丑陋(无罪)。
我也尝试过使用wcout wcout << L"some more irrelevant text lorem ipsum etc... \u00AF" << endl;
但结果是一样的。
关于我的源代码/控制台窗口为何无法打印MACRON字符的任何想法?
对此字符的修复是好的,但是总的来说,我会遇到奇怪的和奇怪的Unicode字符,因此我可能需要一个更广泛的适用解决方案,无需下载/更改源代码之外的任何内容。
在Code :: Blocks 17.12 IDE中使用C ++编程
答案 0 :(得分:1)
使用_setmode(..., _O_U16TEXT);
#include <io.h>
#include <fcntl.h>
...
_setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"\u00AF\n";
只需确保阅读文档页面上的警告,以确保您对使用它的权衡感到满意(例如,普通printf
在该模式下将不再起作用):
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/setmode?view=vs-2017