我想将▌符号打印到控制台。 我试过了
printf(L"▌");
和
wchar_t t = L'\u2588';
wprintf(L"%c\n", t);
但我只得到'?'结果。 我使用Visual Studio 2012
更新
如果我将区域设置设置为 en-US
setlocale(LC_ALL, "en-US");
我获得|
█
,+
获得╫
而_
获得▄
答案 0 :(得分:1)
要在控制台中启用unicode,我们应该使用_setmode(_fileno(stdout), _O_U16TEXT);
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
void main()
{
_setmode(_fileno(stdout), _O_U16TEXT);
wprintf(L"█");
}