我需要使用我的C ++程序(1cm x 1cm大小)在Linux终端中打印填充的正方形。我尝试使用ASCII 254(■),但在终端中它打印为垃圾字符。我不确定如何使用c ++打印扩展的ASCII字符。以下是我尝试打印扩展ASCII的两种方法。但没有成功。
第一种方法
for(int i=128; i< 255; i++ )
{
std::cout << static_cast<char>(i) << std::endl;
}
第二种方法
unsigned char temp = 'A'
for(int i=65; i< 255; i++ )
{
std::cout << temp++ << std::endl;
std::wcout << temp << std::endl;
}
任何建议或替代想法?
答案 0 :(得分:7)
尝试使用unicode cout << "\u25A0";
http://www.fileformat.info/info/unicode/category/So/list.htm
答案 1 :(得分:1)
或者只是尝试:
std::cout << (char)254u;
答案 2 :(得分:1)
试试这个:
char t = -2;
cout << t;
答案 3 :(得分:1)
就像塞巴斯蒂安·库钦斯基(SebastianKuczyński)所建议的那样,我们可以使用它来做棒图,条形图之类的很棒的东西。
代码
printf("\n\nHistogram of Float data\n");
for (i = 1; i <= bins; i++)
{
count = hist[i];
printf("0.%d |", i - 1);
for (j = 0; j < count; j++)
{
printf("%c", (char)254u);
}
printf("\n");
}
输出
Histogram of Float data
0.0 |■■■■■■■■■■■■■■■■■■■■■■
0.1 |■■■■■■■■■■■■■■■■
0.2 |■■■■■
0.3 |■■■■■■■■■■■■■■
0.4 |■■■■■■■■
0.5 |■■■■■■■■■■■■■■■■
0.6 |■■■■■■■■■■
0.7 |■■■■■■■
0.8 |■■■■■■■■■■■■■■■
0.9 |■■■■■■■