動感炫光彩色進度條,簡直不要太閃瞎眼

2021-08-20 02:11:47 字數 1594 閱讀 8622

本文是在環境linux下,寫的乙個列印進度條。並且進度條的顏色會變化還會閃爍。裝13利器,下面就進行講解。

首先定義乙個大小為101的陣列,用』\0』將陣列初始化。

再定義乙個陣列用來存放『-』,『/』,『|』,『\』,演示轉圈。

然後在迴圈裡通過向陣列賦值『*』,再用字串格式輸出就可以列印進度。

然後在迴圈裡用fflush(stdout)和『\r』依次將緩衝區的重新整理以致於介面能打出』*』和讓游標移至行首繼續列印陣列內容。

最後迴圈內用usleep函式睡眠,不至於一次就打完了。

因為陣列初始化『\0』,所以開始陣列內全是』\0』;又因為陣列每次都賦值』*』,所以陣列內』*』是每次都多加乙個的;陣列可以存放101個字元,』*』最多隻存放100個。所以陣列內最後乙個『*』後一定是』\0』,這樣用字串輸出一定會找到』\0』停止。

如:\033[1;31;42m'abcdefg'\033[1m

格式:\033[字元顯示方式; 字元的顏色;字元的背景顏色m 需要顯示的字元 控制碼

0(預設值)、1(加粗)、2(灰顯)、3(斜體)、4(下劃線)、7(反顯)、9(刪除線)

30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(深藍色)、35(紫色)、36(淺藍色)、37(白色)

40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍色)、45(紫色)、46(淺藍色)、47(白色)

\033[0m

關閉所有屬性

\033[1m

設定高亮度

\03[

4m下劃線

\033[5m

閃爍\033[7m

反顯\033[8m

消隱\033

[30m--

\033

[37m

設定前景色

\033

[40m--

\033

[47m

設定背景色

\033[na

游標上移n行

\03[

nb游標下移n行

\033[nc

游標右移n行

\033[nd

游標左移n行

\033

[y;xh設定游標位置

\033[2j

清屏\033[k

清除從游標到行尾的內容

\033[s

儲存游標位置

\033[u

恢復游標位置

\033

[?25l

隱藏游標

\33[

?25h

顯示游標

#include

int colorprogressbar()

; char symbol=;

for(i=0;i<100;i++)

printf("\033[0m"); //取消格式輸出

}int main()

Linux下彩色進度條

回車與換行 緩衝區概念 乙個緩衝區物件是固定數量的資料的容器,其作用是乙個儲存器 記憶體 或者分段運輸區,在這裡資料可被儲存並在之後用於檢索。緩衝區可分為 全緩衝,行緩衝,不帶緩衝 全緩衝 當填滿標準io的快取後才進行實際io操作。windows和linux都可以通過給 mode設為 iofbf設定...

shell之彩色進度條

bin bash b for i 0 i 100 i 1 do printf e 32m progress e 31m 100s e 33m d r b i 100s 設定初始顯示格數 r return,回到開始輸出的地方 sleep 0.1 b done echo 下面是字型輸出顏色及終端格式控制...

shell實現彩色進度條

hello,今天分享的是shell實現彩色進度條。進度條,通過顯示字元所佔列印字元的比率,字元的數目的增加,以及長度的變化在顯示器上模擬出進度條的變化 下面 實現的是漸變色,執行時色度不停會發生變化,主要是引數color的變化,隨著i的變化,color 32 i 8 color也在發生變化,所以進度...