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;
}
Categories: 编程技术