使用前包含头文件:#include<windows.h> 函数原型: BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);
BOOL WINAPI SetConsoleTextAttribute(
_In_ HANDLE hConsoleOutput,
_In_ WORD wAttributes
);相关参数解释说明: 1.hConsoleOutput:控制台屏幕缓冲区的句柄
2.定义一个控制台屏幕缓冲区的句柄来获取标准输出的设备的句柄: HANDLE hConsoleOutput=GetStdHandle(STD_OUTPUT_HANDLE);
3. GetStdHandle(nStdHandle)是返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。
4.GetStdHandle(nStdHandle)该函数的参数值有一下几种类型:
值 | 含义 |
|---|---|
STD_INPUT_HANDLE | 标准输入的句柄 |
STD_OUTPUT_HANDLE | 标准输出的句柄 |
STD_ERROR_HANDLE | 标准错误的句柄 |
4.wAttributes 用一个字节的WORD来指定文字背景颜色和文字颜色。
例如: WORD wd = FOREGROUND_RED | FOREGROUND_BLUE; //文本颜色为紫色
WORD wAttributes是用来设置颜色的参数,有三种写法: (1)十六进制设置参数

#include<iostream>
#include<conio.h>
#include<Windows.h>
using namespace std;
int main()
{
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, 0x06);
printf("大忽悠");
SetConsoleTextAttribute(handle, 0x07);
printf("喜欢");
SetConsoleTextAttribute(handle, 0x08);
printf("小朋友\n");
_getch();
return 0;
}结果:

(2)十进制设置参数

#include<iostream>
#include<conio.h>
#include<Windows.h>
using namespace std;
int main()
{
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, 3);
printf("大忽悠");
SetConsoleTextAttribute(handle, 6);
printf("喜欢");
SetConsoleTextAttribute(handle, 5);
printf("小朋友\n");
_getch();
return 0;
}结果

(3)使用函数已定义好的参数
#include<iostream>
#include<conio.h>
#include<Windows.h>
using namespace std;
int main()
{
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
WORD word1 = FOREGROUND_RED| FOREGROUND_INTENSITY;
WORD word2 = FOREGROUND_INTENSITY | FOREGROUND_BLUE;
WORD word3 = FOREGROUND_INTENSITY | FOREGROUND_RED;
SetConsoleTextAttribute(handle, word1);
printf("大忽悠");
SetConsoleTextAttribute(handle, word2);
printf("喜欢");
SetConsoleTextAttribute(handle, word3);
printf("小朋友");
_getch();
return 0;
}结果:

其他颜色数值:
属性 | 含义 |
|---|---|
FOREGROUND_BLUE | 文字颜色包含蓝色 |
FOREGROUND_GREEN | 文字颜色包含绿色 |
FOREGROUND_RED | 文字颜色包含红色 |
FOREGROUND_INTENSITY | 文字颜色加强 |
BACKGROUND_BLUE | 背景颜色包含蓝色 |
BACKGROUND_GREEN | 背景颜色包含绿色 |
BACKGROUND_RED | 背景颜色包含红色 |
BACKGROUND_INTENSITY | 背景颜色包含加剧 |
COMMON_LVB_LEADING_BYTE | 前导字节 |
COMMON_LVB_TRAILING_BYTE | 尾随字节 |
COMMON_LVB_GRID_HORIZONTAL | 顶部水平 |
COMMON_LVB_GRID_LVERTICAL | 左垂直 |
COMMON_LVB_GRID_RVERTICAL | 正确的垂直 |
COMMON_LVB_REVERSE_VIDEO | 反转前景和背景属性 |
COMMON_LVB_UNDERSCORE | 下划线 |