linux上printf出帶顏色字型

2021-08-08 21:01:21 字數 2092 閱讀 5667

給printf的輸出加上些特效比如顏色,可以讓列印資訊更鮮明,在debug的時候特別有用。

顏色:#define none         "\033[m" 

#define red          "\033[0;32;31m" 

#define light_red    "\033[1;31m" 

#define green        "\033[0;32;32m" 

#define light_green  "\033[1;32m" 

#define blue         "\033[0;32;34m" 

#define light_blue   "\033[1;34m" 

#define dary_gray    "\033[1;30m" 

#define cyan         "\033[0;36m" 

#define light_cyan   "\033[1;36m" 

#define purple       "\033[0;35m" 

#define light_purple "\033[1;35m" 

#define brown        "\033[0;33m" 

#define yellow       "\033[1;33m" 

#define light_gray   "\033[0;37m" 

#define white        "\033[1;37m"

比如:printf("\033[31m ####----->> \033[32m" "hello\n" 

"\033[m");

顏色分為背景色和字型色,30~39用來設定字型色,40~49設定背景:

背景色                        字型色

40: 黑                          30: 黑

41: 紅                          31: 紅

42: 綠                          32: 綠

43: 黃                          33: 黃

44: 藍                          34: 藍

45: 紫                          35: 紫

46: 深綠                      36: 深綠

47: 白色                      37: 白色 

記得在列印完之後,把顏色恢復成none,不然再後面的列印都會跟著變色。

另外,還可以加一些ansi控制碼。加顏色只是以下控制碼中的一種:

\033[0m   關閉所有屬性   

\033[1m   設定高亮度   

\033[4m   下劃線   

\033[5m   閃爍   

\033[7m   反顯   

\033[8m   消隱   

\033[30m   --   \033[37m   設定前景色   

\033[40m   --   \033[47m   設定背景色   

\033[na   游標上移n行   

\033[nb   游標下移n行   

\033[nc   游標右移n行   

\033[nd   游標左移n行   

\033[y;xh設定游標位置   

\033[2j   清屏   

\033[k   清除從游標到行尾的內容   

\033[s   儲存游標位置   

\033[u   恢復游標位置   

\033[?25l   隱藏游標   

\033[?25h   顯示游標

printf( cyan "current function is %s " green " file line is %d\n" none,

__function__, __line__ );

fprintf(stderr, red "current function is %s " blue " file line is %d\n" none,

__function__, __line__ );

return 0;

printf列印帶顏色的字元

在printf的格式化字串中可以通過新增控制碼的方式來控制列印字元的顏色,shell指令碼中echo命令加上 e選項亦可控制輸出字元的顏色。帶格式控制的一般格式為 033 控制碼1 控制碼2 控制碼3.m字串內容 033 控制碼m 控制碼 033 0m 關閉所有屬性 一般放在後面,這樣只會影響你輸入...

echo 命令顯示帶顏色的字

讓echo輸出帶顏色的方法有兩種 在shell指令碼中定義顏色變數,使用echo e呼叫變數 定義變數的時候,把echo e定義到變數中,然後輸出變數 格式及選項 格式如下 echo e 033 字背景顏色 文字顏色m字串 033 0m 1例 echo e 033 41 36m content 03...

嵌入式學習筆記3 帶顏色控制的printf

以前只用過printf函式進行資料的列印,今天得知printf函式還能對顏色進行修改,於是網上查閱了資料進行了嘗試。格式 printf 033 字型顏色碼 背景顏色碼m字串 033控制碼 字背景顏色範圍 40 49 字顏色 30 39 40 黑 30 黑 41 紅 31 紅 42 綠 32 綠 43...