在Linux環境下寫彩色進度條的程式

2021-08-28 10:25:40 字數 799 閱讀 5059

編碼要求:

1. 進度條是動態的。

2.進度條有進度的多少。

3.進度條擁有顏色。

前提:1. 緩衝區:

緩衝區分為三種:

1)全緩衝區:linux下預設8192位元組,在緩衝區滿或者顯示呼叫重新整理函式後進行io系統呼叫操作。普通磁碟檔案通常使用全緩衝區訪問

2)行緩衝區:預設大小為128位元組,當遇到換行符或者緩衝區滿時,標準io庫執行io系統呼叫操作,終端即行緩衝區。

3)非緩衝區:標準io庫不對字元進行快取,標準出錯流stderr通常是不帶緩衝區的。

用printf()輸出時是先輸出到緩衝區,然後再從緩衝區送到螢幕上。用fflush(stdout)函式強制重新整理緩衝區。

2. \n , \r 的比較

\n 表示回車和換行兩個動作,即在行末出現\n ,則後面的字便在下一行的第乙個字開始輸出。

\r 表示回車乙個動作,即如果出現\r ,則後面的字在本行第乙個字開始輸出,即會覆蓋前面的資料。

3. sleep()函式

sleep()函式表示:若在動作a與動作b之間存在sleep(a),則表示a執行a秒到動作b。此函式單位為秒。

注意:usleep()函式,單位為微秒。

附加:看下面同樣的**,僅僅輸出時的「回車」不同,結果是怎樣的呢(具體看\n \r的不同)

Linux下彩色進度條

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

Linux下簡易彩色進度條

個人部落格傳送門 前言在linux下安裝檔案的時候,都會有個進度條來提示我們安裝的進度是多少。這裡我們模擬輸出這個進度條。主要用到輸出函式的操作 緩衝區的重新整理 usleep函式 linux終端顏色的顯示等知識。效果如下 鋪墊知識點 緩衝區 緩衝區分位三種 無緩衝,行緩衝,全緩衝。無緩衝 沒有緩衝...

Linux下彩色進度條的實現

在linux下安裝軟體的過程中會出現乙個進度條,它通過動態增加一些符號來表示安裝進度。今天我們就來模擬實現一下乙個進度條。在實現進度條之前,首先需要了解一些概念。一.緩衝區 緩衝區分為三種 無緩衝,行緩衝和全緩衝。無緩衝 指沒有緩衝,立即顯示資訊。行緩衝 輸入輸出遇到換行符才進行io操作。全緩衝 輸...