如何将unicode符号打印到控制台

时间:2014-02-26 18:58:50

标签: c console codepages

我想将▌符号打印到控制台。 我试过了

printf(L"▌");

wchar_t t = L'\u2588';
wprintf(L"%c\n", t);

但我只得到'?'结果。 我使用Visual Studio 2012

更新

如果我将区域设置设置为 en-US

setlocale(LC_ALL, "en-US");

我获得| +获得_获得

1 个答案:

答案 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"█");
}