print a filled square in console
18,778
Solution 1
Try using the unicode cout << "\u25A0";
http://www.fileformat.info/info/unicode/category/So/list.htm
Solution 2
Or try just:
std::cout << (char)254u;
Solution 3
Try this :
char t = -2;
cout << t;
Solution 4
Like Sebastian Kuczyński has suggested , we could use that to do great stuff like bar graphs , hostogram etc. Its very cool.
Code
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");
}
Output
Histogram of Float data
0.0 |■■■■■■■■■■■■■■■■■■■■■■
0.1 |■■■■■■■■■■■■■■■■
0.2 |■■■■■
0.3 |■■■■■■■■■■■■■■
0.4 |■■■■■■■■
0.5 |■■■■■■■■■■■■■■■■
0.6 |■■■■■■■■■■
0.7 |■■■■■■■
0.8 |■■■■■■■■■■■■■■■
0.9 |■■■■■■■
Author by
Nayana Adassuriya
Updated on August 13, 2022Comments
-
Nayana Adassuriya over 1 year
I need to print a filled square in Linux terminal using my C++ program (1cm x 1cm size). I tried to use ASCII 254 (■), but in terminal it print as garbage character. I'm not sure how to print extended ASCII character using c++. Here are two methods I have tried to print extended ASCII. but not succeed.
First method
for(int i=128; i< 255; i++ ) { std::cout << static_cast<char>(i) << std::endl; }
Second method
unsigned char temp = 'A' for(int i=65; i< 255; i++ ) { std::cout << temp++ << std::endl; std::wcout << temp << std::endl; }
Any suggestion or alternative Idea?