LINUX系统与WINDOWS系统都有修改终端文字颜色的系统调用。下面分别给出LINUX系统与WINDOWS系统修改终端文字颜色的代码。查看完整测试代码
LINUX系统修改终端颜色源码
typedef enum
{
cRED = 31,
cBLUE = 34,
cGREEN = 32,
cWHITE = 37,
cYELLOW = 33
} CONSOLE_COLOR;
void SetConsoleTextColor(CONSOLE_COLOR color)
{
printf("\e[%dm", (int)(color));
}
WINDOWS系统修改终端颜色源码
#include <conio.h>
#include <windows.h>
typedef enum
{
cRED = FOREGROUND_RED,
cBLUE = FOREGROUND_BLUE,
cGREEN = FOREGROUND_GREEN,
cYELLOW = FOREGROUND_RED | FOREGROUND_GREEN,
cWHITE = FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN
} CONSOLE_COLOR;
void SetConsoleTextColor(CONSOLE_COLOR color)
{
static HANDLE console = NULL;
if (console == NULL) console = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(console, color);
}
测试代码(查看完整测试代码)
int main(int argc, char** argv)
{
SetConsoleTextColor(cRED);
puts("hello xungen");
SetConsoleTextColor(cBLUE);
puts("hello xungen");
SetConsoleTextColor(cGREEN);
puts("hello xungen");
SetConsoleTextColor(cYELLOW);
puts("hello xungen");
return 0;
}
查看完整测试代码