給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...