精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

不會吧,你還在赤裸裸的使用Printf?

系統 Linux
最近做了一些Linux應用開發方面的東西,感覺現在有點混亂,所以想將每個知識點模塊化,并且能夠搭建自己的API庫,方便以后能夠直接使用!

哈嘍,伙計們!

最近做了一些Linux?應用開發方面的東西,感覺現在有點混亂,所以想將每個知識點模塊化,并且能夠搭建自己的API庫,方便以后能夠直接使用!

今天主要來討論一下我們最常用的打印字符串,實現調試打印和顏色打印。

1、明確需求

在Linux開發環境下,我們日常使用的打印字符串的主要需求可能有兩種:

  • 多級別打?。何覀冋{試打印信息可以分為多個級別,全局設置打印級別,來實現打印的全局管理!
  • 多顏色打印:不同的打印級別對應不同的打印色彩,方便快速吸引開發者的注意力,快速定位問題!

基于以上兩個基本需求,我們來進行簡單封裝。

2、打印級別分類

打印級別參考內核的分類,設置級別如下:

typedefenum {
LOG_EMERG=0, /**< Emergency */
LOG_ALERT, /**< Alert */
LOG_CRIT, /**< Critical */
LOG_ERR, /**< Error */
LOG_WARNING, /**< Warning */
LOG_NOTICE, /**< Notice */
LOG_INFO, /**< Information */
LOG_DEBUG /**< Debug */
}GLOBAL_LOG_LEVEL;

3、打印級別控制

打印級別分類后,我們定義全局變量,來全局控制打印級別。

GLOBAL_LOG_LEVEL g_log_level = LOG_INFO;        //  default log level

/**
* @brief 設置LOG打印等級
*
* @param log_level
*/

void Set_Log_Lever(GLOBAL_LOG_LEVEL log_level){

g_log_level = log_level;

}

如果需要全局調整打印級別,我們可以調用Set_Log_Lever的接口,實現打印級別的適時調整。

4、打印信息添加

在輸出我們正常打印信息之前,我們也需要添加一些時間信息,打印級別信息等。

constchar global_log_level_string[8][10] = {"EMERG", "ALERT", "CRIT", "ERR", "WARNING", "NOTICE", "INFO", "DEBUG"};
staticchar str_tmp[512];

// 增加時間信息
time_t now;
time(&now);
strftime(str_tmp, sizeof(str_tmp), "[%Y-%m-%d %H:%M:%S ", localtime(&now));

//加入LOG后綴信息
strcat(str_tmp,global_log_level_string[level]);
strcat(str_tmp, "] ");

通過以上代碼,將時間和打印級別信息都添加到字符串之前。

輸出效果如下:

[2022-10-2109:13:54 INFO] log info output

 5、顏色定義

顏色控制如何做?

很簡單,在輸出字符串前,符合特定的顏色控制格式,就可以更改打印顏色了。

printf("\033[顯示方式;字背景顏色;字體顏色m…\033[0m")

控制命令以\033[?開頭,以m?結尾,而中間則是屬性碼,屬性代碼之間使用;?分隔,如\033[1;34;42m?,最后以默認顏色\033[0m結尾,以避免影響后面正常打印!

顯示方式

意義

顯示方式

默認

0

高亮顯示

1

下劃線

4

閃爍

5

反白顯示

7

不可見

8

 前景顏色和背景顏色

顏色

前景色

背景色

黑色

30

40

紅色

31

41

綠色

32

42

黃色

33

43

藍色

34

44

紫紅色

35

45

青藍色

36

46

白色

37

47

沒有設置的話就是默認

顏色定義

下方定義一些常用顏色,方便打印調用。

#define LOG_CLRSTR_NONE         "\033[0m"               // 默認顯示
#define LOG_CLRSTR_RED "\033[0;42;31m" // 綠紅色
#define LOG_CLRSTR_GREEN "\033[0;32m" // 綠色
#define LOG_CLRSTR_BLUE "\033[0;32;34m" // 藍色
#define LOG_CLRSTR_DARK_GRAY "\033[1;30m" // 灰色
#define LOG_CLRSTR_CYAN "\033[0;36m" // 青色
#define LOG_CLRSTR_PURPLE "\033[0;35m" // 紫色
#define LOG_CLRSTR_BROWN "\033[0;33m" // 棕色
#define LOG_CLRSTR_YELLOW "\033[5;42;33m" // 綠黃色
#define LOG_CLRSTR_WHITE "\033[1;37m" // 白色

6、顏色控制

定義完各類顏色后,我們要做的就是對于不同級別的打印,選擇不同的顏色!

//LOG類型判斷,選擇不同打印顏色
switch (level)
{
case LOG_EMERG:
log_color = LOG_CLRSTR_RED;
break;
case LOG_ALERT:
log_color = LOG_CLRSTR_BLUE;
break;
case LOG_CRIT:
log_color = LOG_CLRSTR_CYAN;
break;
case LOG_ERR:
log_color = LOG_CLRSTR_RED;
break;
case LOG_WARNING:
log_color = LOG_CLRSTR_PURPLE;
break;
case LOG_NOTICE:
log_color = LOG_CLRSTR_YELLOW;
break;
case LOG_INFO:
log_color = LOG_CLRSTR_DARK_GRAY;
break;
case LOG_DEBUG:
log_color = LOG_CLRSTR_BROWN;
break;
default:
log_color = LOG_CLRSTR_GREEN;
break;
}

 7、顏色打印

在選擇對應顏色之后,我們要做的就是將這些顏色信息,放到正常打印信息的前方。

可以通過字符串拼接的函數實現。

//  重新設置標準輸出
sprintf(str_uart, "%s",log_color);
strcat(str_uart, str_tmp);

...

strcat(str_uart,LOG_CLRSTR_NONE);
strcat(str_uart, "\r\n");
printf("%s",str_uart);

這里的顏色打印,說白了就是在我們要打印的字符串前方,加入打印顏色的信息即可,打印字符串結束之后,要加上\033[0m,來恢復默認!

8、打印預覽

設置完成之后,我們看一下打印預覽:

圖片

 

9、Demo獲取

多級別彩色打印這個功能,已經封裝成了一個API?,我們直接獲取源碼,將.c和.h文件加入到自己工程即可使用!

責任編輯:武曉燕 來源: 嵌入式藝術
相關推薦

2021-08-04 08:31:10

MySQL數據庫日志

2021-12-06 17:44:56

MHAMySQL高可用

2021-09-07 11:20:02

binlogMySQL數據庫

2025-02-19 12:40:33

JWT

2009-07-19 16:08:18

2020-08-05 14:28:32

編程程序員代碼

2019-09-21 21:32:34

數據庫SQL分布式

2016-10-08 22:10:51

2022-10-26 08:16:58

jar包依賴關系Maven

2024-03-04 00:05:00

馬斯克AI

2021-07-18 22:47:08

大數據電商算法

2015-12-31 13:38:59

創新大公司

2020-02-21 14:15:40

SimpleDateFJava多線程

2020-09-14 06:52:42

Java對象代碼

2021-11-26 10:43:35

程序員技能開發者

2010-08-03 10:38:16

2025-10-28 01:45:00

setTimeouAPI日志

2011-03-07 09:44:09

赤裸的密碼密碼

2022-01-25 12:41:31

ChromeResponse接口

2016-12-20 19:59:08

科技WIFI手機
點贊
收藏

51CTO技術棧公眾號

aaa一区二区三区| 林心如三级全黄裸体| 久草在线中文最新视频| 久久亚洲一区二区三区明星换脸| 国产精品999999| 老熟妻内射精品一区| 嫩草国产精品入口| 欧美日韩一区二区三区视频| 日本a级片在线播放| 欧美午夜黄色| 国产曰批免费观看久久久| 性亚洲最疯狂xxxx高清| 青青草华人在线视频| 粉嫩的18在线观看极品精品| 欧美性色综合网| 久久国产精品网| 最新真实国产在线视频| 成人福利视频网站| 成人字幕网zmw| 精品国产一区二区三区四| 欧美国产专区| 在线观看欧美日韩| 亚洲AV无码国产精品| 亚洲精品无播放器在线播放| 色综合久久久久久久| 国产香蕉一区二区三区| 成人资源www网在线最新版| 成人精品视频网站| 成人福利网站在线观看11| 国产伦精品一区二区三区视频我| 欧美网站在线| 美女少妇精品视频| 国产精品www爽爽爽| 久久影院资源站| 日韩三级高清在线| 亚洲日本黄色片| h1515四虎成人| 色婷婷精品久久二区二区蜜臂av | 亚洲深夜激情| 欧美另类在线播放| 极品久久久久久| 99久久久久国产精品| 中日韩美女免费视频网址在线观看| 四虎成人免费视频| 中文无码日韩欧| 日韩一区二区在线看片| 国产免费中文字幕| 国外成人福利视频| 欧美日韩一区二区三区四区 | 无人区乱码一区二区三区| 欧美日韩一卡二卡三卡| 丰满少妇在线观看| 日本成人片在线| 91福利资源站| wwwwxxxx日韩| 欧美不卡高清一区二区三区| 色婷婷综合久久久久中文一区二区| 欧美性大战久久久久xxx| sm捆绑调教国产免费网站在线观看| 一区二区三区欧美激情| 法国空姐在线观看免费| 中文字幕在线观看网站| 亚洲精品国久久99热| 久久观看最新视频| 免费在线播放电影| 五月婷婷综合激情| 男人天堂999| 欧美中文字幕精在线不卡| 狠狠躁天天躁日日躁欧美| 欧美黄网站在线观看| av高清一区| 欧美美女一区二区三区| 亚洲欧美一区二区三区不卡| 日本成人精品| 日韩av影院在线观看| 性欧美13一14内谢| 日韩成人精品一区| 欧美成人国产va精品日本一级| 免费一级片在线观看| 在线观看亚洲| 国产成人综合久久| 国产一区二区三区三州| 成人性视频网站| 久久久精品国产一区二区三区| 黄色片视频在线观看| 国产精品欧美一级免费| 91免费版看片| 超级碰碰久久| 67194成人在线观看| 精品伦一区二区三区| 日日狠狠久久偷偷综合色| 在线观看日韩专区| 久久国产在线视频| 视频在线观看国产精品| 91精品啪aⅴ在线观看国产| 黄色aaa大片| 国产精品丝袜91| 日韩成人三级视频| 91成人在线| 欧美成人vr18sexvr| 91网站免费入口| 欧美激情综合| 国产精品福利网站| 亚洲精品成av人片天堂无码| 国产日韩亚洲欧美综合| 久久精品无码中文字幕| 福利视频亚洲| 日韩精品视频免费专区在线播放 | 欧美亚洲综合网| 久久久久久久久久影视| 日本大胆欧美| 91精品国产91久久久| 国产精品无码久久av| 久久综合色综合88| 日韩在线视频在线| 另类一区二区三区| 亚洲精品视频在线播放| 欧美日韩精品亚洲精品| 麻豆精品精品国产自在97香蕉| 国产亚洲精品久久飘花| jizz性欧美10| 欧美日韩亚洲综合一区二区三区 | 综合分类小说区另类春色亚洲小说欧美| 老太脱裤让老头玩ⅹxxxx| av在线成人| 在线日韩精品视频| 久久久久久无码精品大片| av网站一区二区三区| 国产一区二区片| 成人日韩视频| www.久久久久| 中国一区二区视频| 国产丝袜欧美中文另类| 亚欧无线一线二线三线区别| 成午夜精品一区二区三区软件| 久热精品在线视频| 国产精品久久久久精| 国产精品你懂的在线欣赏| 丁香啪啪综合成人亚洲| 亚洲午夜久久| 欧美自拍大量在线观看| 天天影院图片亚洲| 精品久久久久久| 天天躁日日躁狠狠躁av麻豆男男 | 欧美熟妇交换久久久久久分类| 亚洲欧美另类久久久精品| 亚洲最大成人在线观看| 亚洲第一论坛sis| 欧美一区二三区| 日韩一二三四| 欧美性猛交xxxx免费看| 久久久久国产精品区片区无码| 日韩午夜激情| 蜜桃导航-精品导航| 欧美私密网站| 亚洲美女中文字幕| 精品久久久久久久久久久久久久久久久久 | 国产91免费在线观看| 亚洲图片一区二区| 日本少妇毛茸茸| 亚洲欧美大片| 日本黄网免费一区二区精品| 欧美日韩尤物久久| 中文字幕最新精品| 国产美女三级无套内谢| 一区二区三区四区激情| 日本国产在线视频| 久久一本综合频道| 亚洲精品中文字幕乱码三区不卡| 国产精品第一| 蜜月aⅴ免费一区二区三区| 亚洲伦理在线观看| 日韩欧美精品网址| ass极品国模人体欣赏| 国产美女视频91| 精品少妇人妻av免费久久洗澡| 天堂av一区二区三区在线播放| 国产a级全部精品| 黄色免费在线看| 亚洲成成品网站| 9i精品福利一区二区三区| 国产精品日产欧美久久久久| 最好看的中文字幕| 亚洲一区二区免费看| 亚洲视频导航| 国产福利资源一区| 国产精品老女人视频| 在线免费观看污| 亚洲美女性视频| 国产偷拍一区二区| 欧美日韩综合视频网址| 午夜成人亚洲理伦片在线观看| 粉嫩13p一区二区三区| 国产性xxxx18免费观看视频| 999久久久91| 久久久久综合一区二区三区| 四虎视频在线精品免费网址| 久久久亚洲影院| 日本在线看片免费人成视1000| 日韩一级大片在线观看| 色一情一乱一伦| 一区二区三区美女| av资源在线免费观看| 99久久久久免费精品国产| 羞羞的视频在线| 久久电影一区| 青青草视频在线视频| 日韩国产一区| 久久久久一区二区| 91亚洲无吗| 成人a在线观看| 日韩电影免费观| 孩xxxx性bbbb欧美| 免费大片黄在线| 亚洲深夜福利网站| 欧美一级在线免费观看| 日韩一区和二区| 11024精品一区二区三区日韩| 精品久久香蕉国产线看观看亚洲| 18岁成人毛片| 国产精品久久久久久久久动漫| 亚洲欧美视频在线播放| 成人免费毛片嘿嘿连载视频| 97人人爽人人| 美女视频黄 久久| 国产极品美女高潮无套久久久| 亚洲黄页一区| 妞干网视频在线观看| 亚洲国产一成人久久精品| 亚洲欧美综合一区| 欧美老女人另类| 欧美三日本三级少妇三99| 欧美人妖视频| 久久99欧美| 国产精品调教| 国模一区二区三区私拍视频| 国产suv精品一区| 国产精品亚洲综合| 91精品啪在线观看国产手机| 91午夜在线播放| 91精品国产一区二区在线观看| 国产精品入口免费视| 欧美韩国亚洲| 国产精品久久久一区| 桃子视频成人app| 国产成人久久久精品一区| 不卡av播放| 国产精品久久久久久五月尺| av一区在线| 成人av在线网址| 日韩一二三区| 国产精品中出一区二区三区| 日本亚洲不卡| 欧美日韩高清在线一区| 少妇一区二区视频| 午夜精品视频在线观看一区二区| 清纯唯美亚洲综合一区| 在线视频91| 欧美一区精品| 丝袜人妻一区二区三区| 国产精品丝袜xxxxxxx| 色综合av综合无码综合网站| 日韩精品欧美精品| 亚洲涩涩在线观看| 国产精品香蕉一区二区三区| 少妇伦子伦精品无吗| 成人av免费网站| 免费毛片视频网站| 国产精品视频一区二区三区不卡| 成人涩涩小片视频日本| 一区二区三区免费| 久久精品无码av| 欧美日韩国产高清一区二区三区 | 欧美精选一区二区三区| 日本特级黄色大片| 亚洲国产三级| 五月婷婷之综合激情| 激情综合色综合久久综合| 无码人妻一区二区三区在线| 久久一夜天堂av一区二区三区| 美女福利视频网| 亚洲国产欧美日韩另类综合 | 国产精品久久久久久久久久久久久久久久久 | 91免费视频网站| 老司机aⅴ在线精品导航| 欧美日韩亚洲在线| 在线精品小视频| 久久无码高潮喷水| 国产一区二区三区在线观看免费 | 亚洲最大的黄色网| 国产精品色一区二区三区| 久久久久久久国产精品毛片| 色88888久久久久久影院按摩| 国产精品国产三级国产普通话对白| 亚洲第一页中文字幕| 99精品老司机免费视频| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 亚洲欧美综合色| 国产成人无码精品久在线观看 | 欧美一性一乱一交一视频| 91精品视频一区二区| 蜜桃久久精品乱码一区二区| 欧美另类亚洲| 五月婷婷六月合| 99久久精品费精品国产一区二区| 成人做爰视频网站| 一本大道久久a久久综合婷婷| 亚洲av无码国产综合专区| 一本色道久久88精品综合| 超碰中文在线| 亚洲最大福利网| 日韩av密桃| 黄色a级片免费| 成人高清视频在线观看| 国产精品 欧美激情| 欧美综合一区二区三区| 午夜视频免费看| 久久久久国产精品一区| 国产一精品一av一免费爽爽| 视频二区一区| 久久婷婷久久| 免费看黄色aaaaaa 片| 亚洲午夜国产一区99re久久| 国产成年妇视频| 久久精品中文字幕一区| 视频在线日韩| 日韩激情久久| 丝袜美腿亚洲综合| 3d动漫精品啪啪一区二区下载| 亚洲成人午夜影院| 高清毛片aaaaaaaaa片| 欧美精品生活片| 国产一区二区高清在线| 一区二区不卡在线视频 午夜欧美不卡'| 久久久久在线| 好吊日免费视频| 一本在线高清不卡dvd| 色视频精品视频在线观看| 69视频在线播放| 欧美理论电影在线精品| 伊人成色综合网| 91蝌蚪国产九色| 国产欧美一区二区三区在线看蜜臂| 亚洲黄色www网站| 黄色在线观看www| 久久99精品国产一区二区三区| 99视频一区| 永久免费看mv网站入口78| 91久久精品午夜一区二区| 第一福利在线| 国产综合久久久久久| 性xxxx欧美老肥妇牲乱| 苍井空张开腿实干12次| 亚洲成人av在线电影| 性高潮久久久久久久久久| 欧美亚洲另类激情另类| 国产亚洲电影| 三上悠亚av一区二区三区| 亚洲欧洲99久久| 隣の若妻さん波多野结衣| 午夜精品免费视频| 欧美人与牛zoz0性行为| 日韩av片网站| 亚洲人成7777| 手机看片福利永久| 国产福利视频一区二区| 999国产精品999久久久久久| 免费黄视频在线观看| 欧美色图在线视频| 最新电影电视剧在线观看免费观看 | 精品美女久久久久| 亚洲香蕉成人av网站在线观看| 免费视频成人| 国产一级做a爰片久久毛片男| 99re8在线精品视频免费播放| 欧美一级淫片免费视频黄| 日韩色av导航| 久久久久观看| 天天插天天操天天射| 一级女性全黄久久生活片免费| 天天干视频在线观看| 国产精品一二三在线| 国产精品豆花视频| 日韩中文字幕电影| 日韩一区二区在线播放| 小h片在线观看| 一区二区三区四区欧美日韩| 成人国产视频在线观看| 中文字幕精品无| 久久久久久久成人| 欧美日韩在线网站| 成年女人免费视频| 欧美日韩国产综合一区二区| 黄色在线观看www| 国产手机视频在线观看| 久久免费视频一区| 懂色av蜜臀av粉嫩av分享吧| 国产精品久久久| 最新国产乱人伦偷精品免费网站| 国产一二三av|