Linux 上程序在終端輸出帶顏色等格式的字符串

如果可以在 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;
}
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章