国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Printf的多功能打印(帶顏色)

2023-04-09 17:43 作者:_一十二畫_  | 我要投稿

哈嘍,伙計(jì)們!

最近做了一些Linux應(yīng)用開發(fā)方面的東西,感覺現(xiàn)在有點(diǎn)混亂,所以想將每個(gè)知識(shí)點(diǎn)模塊化,并且能夠搭建自己的API庫(kù),方便以后能夠直接使用!

今天主要來(lái)討論一下我們最常用的打印字符串,如果實(shí)現(xiàn)調(diào)試打印和顏色打印。

1、明確需求

Linux開發(fā)環(huán)境下,我們?nèi)粘J褂玫拇蛴∽址闹饕枨罂赡苡袃煞N:

  • 多級(jí)別打印:我們調(diào)試打印信息可以分為多個(gè)級(jí)別,全局設(shè)置打印級(jí)別,來(lái)實(shí)現(xiàn)打印的全局管理!

  • 多顏色打印:不同的打印級(jí)別對(duì)應(yīng)不同的打印色彩,方便快速吸引開發(fā)者的注意力,快速定位問題!

基于以上兩個(gè)基本需求,我們來(lái)進(jìn)行簡(jiǎn)單封裝。

2、打印級(jí)別分類

打印級(jí)別參考內(nèi)核的分類,設(shè)置級(jí)別如下:

3、打印級(jí)別控制

打印級(jí)別分類后,我們定義全局變量,來(lái)全局控制打印級(jí)別。

如果需要全局調(diào)整打印級(jí)別,我們可以調(diào)用Set_Log_Lever的接口,實(shí)現(xiàn)打印級(jí)別的適時(shí)調(diào)整。

4、打印信息添加

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

?


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

輸出效果如下

5、顏色定義

顏色控制如何做?

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

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

顯示方式

意義顯示方式默認(rèn)0高亮顯示1下劃線4閃爍5反白顯示7不可見8

前景顏色和背景顏色

顏色前景色背景色黑色3040紅色3141綠色3242黃色3343藍(lán)色3444紫紅色3545青藍(lán)色3646白色3747

沒有設(shè)置的話就是默認(rèn)

顏色定義

下方定義一些常用顏色,方便打印調(diào)用。

6、顏色控制

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

7、顏色打印

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

可以通過字符串拼接的函數(shù)實(shí)現(xiàn)。

這里的顏色打印,說白了就是在我們要打印的字符串前方,加入打印顏色的信息即可,打印字符串結(jié)束之后,要加上\033[0m,來(lái)恢復(fù)默認(rèn)!

8、打印預(yù)覽

設(shè)置完成之后,我們看一下打印預(yù)覽:

9、Demo獲取

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

源碼獲取放到評(píng)論區(qū)

Printf的多功能打印(帶顏色)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
桓仁| 东山县| 安西县| 大石桥市| 浏阳市| 河曲县| 繁峙县| 横山县| 五台县| 龙泉市| 大理市| 汪清县| 庄河市| 长汀县| 光山县| 西昌市| 吉水县| 兴安县| 登封市| 灵川县| 卓资县| 社旗县| 务川| 武穴市| 海门市| 安吉县| 吉安县| 定结县| 游戏| 西华县| 宽城| 大足县| 永年县| 大姚县| 南川市| 东城区| 富民县| 喀喇| 西贡区| 松滋市| 鸡西市|