有时候在枯燥的黑白模式下看输出确实让人乏味,今天逛论坛,看到一个有趣得例子是使用不同颜色在控制台输出得,
注意:使用请包含windows.h头文件
HANDLE consolehwnd; //控制台句柄
consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE); //获取该句柄
SetConsoleTextAttribute(consolehwnd,9); //设置打印字体颜色
设置颜色函数如下:
函数原型:
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
wAttributes 的取值含义对应如下:
Attribute | Meaning |
---|---|
FOREGROUND_BLUE | Text color contains blue. |
FOREGROUND_GREEN | Text color contains green. |
FOREGROUND_RED | Text color contains red. |
FOREGROUND_INTENSITY | Text color is intensified. |
BACKGROUND_BLUE | Background color contains blue. |
BACKGROUND_GREEN | Background color contains green. |
BACKGROUND_RED | Background color contains red. |
BACKGROUND_INTENSITY | Background color is intensified. |
COMMON_LVB_LEADING_BYTE | Leading byte. |
COMMON_LVB_TRAILING_BYTE | Trailing byte. |
COMMON_LVB_GRID_HORIZONTAL | Top horizontal. |
COMMON_LVB_GRID_LVERTICAL | Left vertical. |
COMMON_LVB_GRID_RVERTICAL | Right vertical. |
COMMON_LVB_REVERSE_VIDEO | Reverse foreground and background attributes. |
COMMON_LVB_UNDERSCORE | Underscore. |
如果只是简单得设置,使用system就可满足要求
system("color 0A");
其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色
1=蓝色
2=绿色
3=湖蓝色
4=红色
5=紫色
6=黄色
7=白色
8=灰色
9=淡蓝色
A=淡绿色
B=淡浅绿色
C=淡红色
D=淡紫色
E=淡黄色
F=亮白色