win32控制台输出彩色文字

需要引入windows.h头文件,通过函GetStdHandle()获取控制台窗口句柄,再使用SetConsoleTextAttribute()设置颜色。
颜色宏定义:
FOREGROUND_RED 红色(0X04)
FOREGROUND_BLUE 蓝色(0X01)
FOREGROUND_GREEN 绿色(0X02)
FOREGROUND_INTENSITY 灰色(0X08)
FOREGROUND_GREEN | FOREGROUND_BLUE 青色(0X02 | 0X01)
FOREGROUND_GREEN | FOREGROUND_RED 黄色(0X02 | 0X04)
FOREGROUND_HIGHLIGHT 高亮(0X0F)
FOREGROUND_NORMAL 正常(0X07)
前景颜色的最大值为0X0F,超过这个则为背景颜色。
#include <cstdio>
#include "Windows.h"
int main(int argc, char* argv[])
{
//获取控制台句柄
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
//设置颜色
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY);
printf("灰色");
return 0;
}