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

How can I print this"█" special character in C++?

本文关键字:特殊字符 打印 C++      更新时间:2023-10-16

我想在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;
}

你应该使用宽输出:

#include <iostream>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
int main()
{
::_setmode(::_fileno(stdout), _O_U16TEXT);
::std::wcout << L"█" << ::std::flush;
return 0;
}

此外,如果您要使用伪图形,那么您可能需要为控制台选择一些像素字体,以便渲染符号时没有抗锯齿和间隙。

试用:std::cout <<"u2588";

█ 统一码:U+2588