1.作用
(1)控制输出的颜色
① 样例
在代码中写上一句SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED),然后cout<<“噢!这个函数真有用!”。
![](https://i-blog.csdnimg.cn/blog_migrate/ae8cd91d3b141dd5234298859c29c45c.png)
我们会发现我们输出的颜色不再是以前的默认颜色,而是变成了红色,如果把SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color)的color改一下可以输出其它颜色。
提示:
- FOREGROUND_INTENSITY表示的是颜色强度,可以去掉使颜色看起来不那么强烈。
- 把FOREGROUND改成BACKGROUND可以改变背景颜色。
② 颜色与代码
a.前景色(强)
颜色 | 代码 |
---|
前景色:强灰 | FOREGROUND_INTENSITY |
前景色:强红 | FOREGROUND_INTENSITY | FOREGROUND_RED |
前景色:强蓝 | FOREGROUND_INTENSITY | FOREGROUND_BLUE |
前景色:强绿 | FOREGROUND_INTENSITY | FOREGROUND_GREEN |
前景色:强紫 | FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE |
前景色:强黄 | FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN |
前景色:强青 | FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_GREEN |
前景色:强白 | FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN |
b.背景色(强)
颜色 | 代码 |
---|
背景色:强灰 | BACKGROUND_INTENSITY |
背景色:强红 | BACKGROUND_INTENSITY | BACKGROUND_RED |
背景色:强蓝 | BACKGROUND_INTENSITY | BACKGROUND_BLUE |
背景色:强绿 | BACKGROUND_INTENSITY | BACKGROUND_GREEN |
背景色:强紫 | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_BLUE |
背景色:强黄 | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN |
背景色:强青 | BACKGROUND_INTENSITY | BACKGROUND_BLUE | BACKGROUND_GREEN |
背景色:强白 | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN |
c.前景色(弱)
颜色 | 代码 |
---|
前景色:弱红 | FOREGROUND_RED |
前景色:弱蓝 | FOREGROUND_BLUE |
前景色:弱绿 | FOREGROUND_GREEN |
前景色:弱紫 | FOREGROUND_RED | FOREGROUND_BLUE |
前景色:弱黄 | FOREGROUND_RED | FOREGROUND_GREEN |
前景色:弱青 | FOREGROUND_BLUE | FOREGROUND_GREEN |
前景色:弱白 | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN |
d.背景色(弱)
颜色 | 代码 |
---|
背景色:弱红 | BACKGROUND_RED |
背景色:弱蓝 | BACKGROUND_BLUE |
背景色:弱绿 | BACKGROUND_GREEN |
背景色:弱紫 | BACKGROUND_RED | FOREGROUND_BLUE |
背景色:弱黄 | BACKGROUND_RED | FOREGROUND_GREEN |
背景色:弱青 | BACKGROUND_BLUE | FOREGROUND_GREEN |
背景色:弱白 | BACKGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN |
提示:
- 颜色最终效果与代码RED、BLUE、GREEN、INTENSITY先后顺序无关
2.实现
(1)c++版
#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
int main(){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<"噢!这个函数真有用!";
}