如何在C ++中打印此“█”特殊字符?

时间:2018-08-25 13:54:57

标签: c++ special-characters

我想在Visual Studio(c ++)中打印此特殊字符█,但我得到“?” 。 我写的相应代码:

bool b[5][3] = { { true,true,true },{ true,false,true },{ true,false,true }, 
                 { true,false,true },{ true,true,true } };
    system("color 0A");
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            if (b[i][j])
            {
                gotoXY(3 + j, 5 + i);
                cout << "█";
            }
        }
        cout << endl;
    }

2 个答案:

答案 0 :(得分:3)

尝试:std::cout <<"\u2588";

█unicode:U+2588

答案 1 :(得分:2)

您应该使用宽输出:

::_setmode(::_fileno(stdout), _O_U16TEXT);
::std::wcout << L"█" << ::std::flush;

此外,如果您要使用伪图形,则可能需要为控制台选择一些像素字体,以便呈现符号时不会出现锯齿和间隙。