如果可以在 terminal 上面印出各中顏色的字符串,可以方便與迅速定位到關鍵信息。
使用定義顏色的 ANSI 轉義碼。格式如下:
\x1b[(文字裝飾);(顏色代碼):
文字裝飾
0 | 1 | 4 | 3 |
---|---|---|---|
正常 | 加粗 | 下劃線 | 背景 |
顏色代碼
基本8色 | 基本高對比色 | xterm 的 256 色 |
---|---|---|
30 ~ 37 | 90 ~ 97 | 0 ~ 256 |
#include <stdio.h>
#ifndef _DEBUG_COLOR_
#define _DEBUG_COLOR_
#define KDRK "\x1B[0;30m"
#define KGRY "\x1B[1;30m"
#define KRED "\x1B[0;31m"
#define KRED_L "\x1B[1;31m"
#define KGRN "\x1B[0;32m"
#define KGRN_L "\x1B[1;32m"
#define KYEL "\x1B[0;33m"
#define KYEL_L "\x1B[1;33m"
#define KBLU "\x1B[0;34m"
#define KBLU_L "\x1B[1;34m"
#define KMAG "\x1B[0;35m"
#define KMAG_L "\x1B[1;35m"
#define KCYN "\x1B[0;36m"
#define KCYN_L "\x1B[1;36m"
#define WHITE "\x1B[0;37m"
#define WHITE_L "\x1B[1;37m"
#define WHITE_BACK "\x1B[3;37m"
#define WHITE_UN "\x1B[4;37m"
#define RESET "\x1B[0m"
#define RESET "\x1B[0m"
#endif
int main(int argc, char *argv[]){
printf(KDRK"KDRK\n");
printf(KGRY"KGRY\n");
printf(KRED"KRED\n");
printf(KRED_L"KRED_L\n");
printf(KGRN"KGRN\n");
printf(KGRN_L"KGRN_L\n");
printf(KYEL"KYEL\n");
printf(KYEL_L"KTEL_L\n");
printf(KBLU"KBLU\n");
printf(KBLU_L"KBLU_L\n");
printf(KMAG"KMAG\n");
printf(KMAG_L"KMAG_L\n");
printf(KCYN"KCYN\n");
printf(KCYN_L"KCYN_L\n");
printf(WHITE"WHITE\n");
printf(WHITE_L"WHITE_L\n");
printf(WHITE_BACK"WHITE_BACK\n");
printf(WHITE_UN"WHITE_UN\n");
printf(RESET"RESET\n");
return 0;
}
}