天天看點

C語言修改終端文字顔色

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;
}
           

檢視完整測試代碼

繼續閱讀