本文是在環境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也在發生變化,所以進度...