Linux下實現進度條程式的簡單實現

2021-08-11 07:26:30 字數 2245 閱讀 9632

1.進度條:

進度條即計算機在處理任務時,實時的,以形式顯示處理任務的速度,完成度,剩餘未完成任務量的大小,和可能需要處理時間,一般以長方形條狀顯示。

產生進度條的元素:

1.乙個不斷向右增長的容器,可以直**出當前的進度。 「%md」,預寬為m,右對齊,」%-md」,左對齊

2.乙個反應進度的百分比,在這裡用到轉義字元」%%」或者」\%」,都代表的是」%」,」\」代表』\』.

3.乙個標誌,反應該進度是正在執行還是卡死,在程式中體現的是const char *arr=」-|/」;,是順時針輸出.

列如:

[%25][/][############]

[%50][##########################]

緩衝區概念:

緩衝區(buffer)這個中文譯意源自當計算機的高速部件與低速部件通訊時,必須將高速部件的輸出暫存到某處,以保證高速部件與低速部件相吻合. 後來這個意思被擴充套件了,成為」臨時存貯區」的意思。

緩衝區分為:無緩衝、行緩衝、全緩衝。

無緩衝:表示的是沒有緩衝,可以將資訊立馬顯現出來,典型代表是標準錯誤流stderr。

行緩衝:表示的是輸入輸出遇到換行才執行真正的i/o操作。典型的代表是鍵盤的操作。

全緩衝:表示的是輸入輸出寫滿緩衝區才執行i/o操作。典型的代表是磁碟的讀寫。

3.fflush:

fflush,函式名, 清除讀寫緩衝區,需要立即把輸出緩衝區的資料進行物理寫入時。

fflush(stdin)重新整理標準輸入緩衝區,把輸入緩衝區裡的東西丟棄[非標準]

fflush(stdout)重新整理標準輸出緩衝區,把輸出緩衝區裡的東西列印到標準輸出裝置上

4.usleep:

usleep函式能把程序掛起一段時間, 單位是微秒(千分之一毫秒)。本函式可暫時使程式停止執行。

程式實現

彩色輸出參考:[

具體實現如下

前景色字型顏色

「\e[30m」

灰色「\e[31m」

紅色「\e[32m」

綠色「\e[33m」

黃色「\e[34m」

藍色「\e[35m」

紫色「\e[36m」

淡藍色「\e[37m」白色

背景色顏色

[40m」

灰色「\e[41m」

紅色「\e[42m」

綠色「\e[43m」

黃色「\e[44m」

藍色「\e[45m」

紫色「\e[46m」

淡藍色

其他甦醒

\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

顯示游標

Linux下實現進度條小程式

描述 若find命令未返回結果,說明ctags未安裝。成功安裝ctags後,在工作區建立乙個目錄,並建立乙個.c檔案進入編輯 此處為main.c 鍵入上圖 後儲存並退出,建立makefile檔案進入編輯。在當前工作目錄下輸入ctags r指令,會發現目錄中多了乙個tags檔案。該指令的作用是在當前目...

Linux下實現進度條

1 進度條存在乙個區間,不斷載入資料,直到區間加載滿了。2 發現會顯示你的進度,從0 100 3 在網速不好的時候,會出現乙個旋轉的小圈,表示在進行載入資料。下來呢,我們先說一下實現的大概思路 1 進度條由0 100 在字元陣列中,輸出一串字元時,最後以 0 結 束的,故需要乙個 大小為102的陣列...

Linux下進度條

功能 模擬1到100的進度條,每次顯示列印了百分之多少 首先要明白幾個轉義字元在不同平台的功能 r return 到當前行的最左邊。n newline 向下移動一行,並不移動左右。linux中 n表示回車 換行 windows中 r n表示回車 換行。mac中 r表示回車 換行。現在進行實現 buf...