调用形式为:
SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
hConsoleOutput表示控制台缓冲区句柄,可以通过GetStdHandle(STD_OUTPUT_HANDLE)来获得;wAttributes表示文字颜色和背景颜色。
0~F 分别代表的颜色如下:
0 = 黑色 8 = 灰色 1 = 淡蓝 9 = 蓝色
2 = 淡绿 A = 绿色 3 = 湖蓝 B = 淡浅绿
C = 红色 4 = 淡红 5 = 紫色 D = 淡紫
6 = 黄色 E = 淡黄 7 = 白色 F = 亮白
例如,将背景设置为淡绿色,文字设置为红色:
- #include
- #include
- int main(){
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hConsole, 0x2C );
- puts("C语言中文网");
- return 0;
- }
运行结果:
如果只希望设置文字颜色,背景保持黑色,那么也可以只给出一位16进制数,例如:
SetConsoleTextAttribute(hConsole, 0xC ); //将文字颜色设置为红色
SetConsoleTextAttribute(hConsole, 0xF ); //将文字颜色设置为白色
再来看一个例子:
- #include
- #include
- int main(){
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hConsole, 0xC );
- puts("红色文字");
- SetConsoleTextAttribute(hConsole, 0xF );
- puts("白色文字");
- SetConsoleTextAttribute(hConsole, 2 );
- puts("淡绿色文字");
- return 0;
- }
运行结果: