SetConsoleTextAttribute()用法
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <ctime>
#include <cmath>
#include <windows.h>
using namespace std;
int main()
{
cout<<"原色(沒有設置字體顏色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);//設置三色相加
cout<<"白色(紅色綠色藍色相加)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//設置紅色
cout<<"紅色(設置的顏色為紅色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);//設置綠色
cout<<"綠色(設置的顏色為綠色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
//設置藍色
cout<<"藍色(設置的顏色為藍色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);//設置紅色和綠色相加
cout<<"黃色(紅色和綠色相加色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);//設置紅色和藍色相加
cout<<"粉色(紅色和藍色相加色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//設置綠色和藍色相加
cout<<"青色(綠色和藍色相加色)"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);//設置顏色,沒有添加顏色,故為原色
cout<<endl;
}
SetConsoleTextAttribute()函數是一個API設置字體顏色和背景色的函數。參數表中使用兩個屬性(屬性之間用,隔開)。GetStdHandle()和FOREGROUND_*或BACKGROUND_*。*值為INTENSITY或RED或GREEN或BLUE。第一個屬性獲得句柄(即要設置顏色的地方),第二個屬性設置顏色。屬性相加是在屬性值中間加“|”隔開即可。
GetStdHandle(STD_OUTPUT_HANDLE)獲得句柄。
FOREGROUND_INTENSITY 表示設置前景色為高亮顯示。
FOREGROUND_RED 表示設置前景色為紅色,即字體顏色為紅色。
FOREGROUND_GREEN 表示設置前景色為綠色,即字體顏色為綠色。
FOREGROUND_BLUE 表示設置前景色為藍色,即字體顏色為藍色。
BACKGROUND_INTENSITY 表示設置背景色為高亮顯示。
BACKGROUND_RED 表示設置背景色為紅色。
BACKGROUND_GREEN 表示設置背景色為綠色。
BACKGROUND_BLUE 表示設置背景色為藍色。
說明:在使用時要在預處理中包含window.h頭文件!

