在C語言中,可以使用一些特殊的字符序列來改變控制臺的顏色。下面是一些常用的控制臺顏色修改的方法:
使用Windows API函數:
SetConsoleTextAttribute
來改變控制臺的文本顏色和背景顏色。例如,使用以下代碼將文本顏色設置為紅色:#include <windows.h>
int main() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
printf("This is red text.\n");
return 0;
}
SetConsoleTextAttribute
函數的第二個參數可以組合使用多個顏色代碼,例如FOREGROUND_RED | FOREGROUND_INTENSITY
表示亮紅色。GetConsoleScreenBufferInfo
函數獲取控制臺的當前屬性,然后使用SetConsoleTextAttribute
函數修改屬性,最后使用SetConsoleCursorPosition
函數將光標位置設置回原始位置,以避免顏色代碼影響后續輸出。使用ANSI轉義序列:
printf
函數輸出紅色文本的代碼如下:printf("\x1b[31mThis is red text.\x1b[0m\n");
\x1b
表示轉義字符,[31m
表示將后續文本的顏色設置為紅色,[0m
表示將后續文本的屬性重置為默認顏色。需要注意的是,不同的操作系統和終端/控制臺可能對控制臺顏色的設置有所不同,上述方法可能在某些終端/控制臺上不起作用。所以在實際使用中,最好根據目標終端/控制臺的具體要求和支持情況來選擇合適的方法。