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;
}
檢視完整測試代碼