C++ 更改控制台显示文本颜色
两种方法
一种方法
获得控制台输入输出句柄
- 函数原型: HANDLE GetStdHandle(DWORD nStdHandle);
- 参数:
- nStdHandle定义函数返回的是标准输入或标准输出或标准错误的句柄.取值为一下
- STD_INPUT_HANDLE 标准输入
- STD_OUTPUT_HANDLE 标准输出
- STD_ERROR_HANDLE 标准错误
- nStdHandle定义函数返回的是标准输入或标准输出或标准错误的句柄.取值为一下
- 返回值:
- 如果函数成功,这个返回值为设备资源句柄
- 如果函数是吧,返回值是INVALID_HANDLE_VALUE标准,如果想要知道错误信息,调用GetLastError函数去获得
- 头文件: window.h
- 说明: 返回一个标准输入或输出或错误的句柄
设置控制台输入输出文本前景色背景色
- 函数原型: BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes );
- 参数:
- hConsoleOutput 控制台的资源句柄, 该句柄必须具有GENERIC_READ访问权限
- wAttributes设置文本前景色和背景色的具体值,取值如下,可以使一个或 者组合
- FOREGROUND_BLUE 前景色为蓝
- FOREGROUND_GREEN 前景色为绿
- FOREGROUND_RED 前景色为红
- FOREGROUND_INTENSITY 前景色为强光
- BACKGROUND_BLUE 背景色为蓝
- BACKGROUND_GREEN 背景色为绿
- BACKGROUND_RED 背景色为红
- BACKGROUND_INTENSITY 背景色为强光
- 头文件: window.h
- 说明: 用于设置文本前景色和背景色,只对在其后的文本输出或输入
使用步骤
声明一个 HANDLE句柄并获得标准输出句柄用GetStdHandle(STD_OUTPUT_HANDLE)
↓
调用SetConsoleTestAttribute函数设置文本前景色和背景色
例子:
实现一个在 dos 界面上的色彩菜单:
View Code
输出结果:
另一种方法
设置控制台输入输出前景色背景色
- 函数原型:
- int system( const char *command );
- int _wsystem( const wchar_t *command );
- 参数:
- command为"color xy"color为关键字,x为背景色,y为前景色.x,y可以取值为
- 0=黑色
- 1=蓝色
- 2=绿色
- 3=湖蓝色
- 4=红色
- 5=紫色
- 6=黄色
- 7=白色
- 8=灰色
- 9=淡蓝色
- A=淡绿色
- B=淡浅绿色
- C=淡红色
- D=淡紫色
- E=淡黄色
- F=亮白色
- command为"color xy"color为关键字,x为背景色,y为前景色.x,y可以取值为
- 头文件:cstdlib
例子:
使控制台背景为量白色,文本字体颜色为蓝色:
1 #include<iostream> 2 #include<cstdlib> 3 //头文件定义 4 using namespace std; 5 6 int main() 7 //主函数 8 { 9 system("color F1"); 10 cout<<"change!"<<endl; 11 system("pause"); 12 return 0; 13 }
输出结果: