Linux下的小程序:進度條

當我們再上傳或者下載什麼東西的時候,通常會顯示一個界面,這個界面顯示的是你加載的多少,那麼在Linux下有沒有進度條呢?

今天就來實現一下吧!首先應該出現的就是一個進度,另外還有一個是百分比。百分比還好說,關鍵是進度,這是一個逐漸增加的形式,而且還是一直顯示一個界面。

逐漸增加還好說一點,我們只需要寫一個循環就可以了,關鍵是一直顯示的是最新的顯示信息,這個就用到我們以前學的一個函數了,fflush(),清洗讀寫緩衝區。具體的使用方法請參考百度百科。

那麼一個精緻的進度條程序就成了:

這裏寫圖片描述

這樣,我們保存並退出,然後gcc編譯生成一個可執行文件a.out,在在運行這個文件,之後就會是見證奇蹟的時候了:

這裏寫圖片描述

我們會發現,進度條隨時間的推移一步步的從左往右走着,後面的百分比也隨之變化,不過還是不太完整,要是還想要一些動態的效果呢?比如說:正在加載的時候不是有轉圈的東西嗎?這個在鼠標上見得最多吧。那麼如何將這個效果也加上呢?

首先應該想一下,如何能讓這個具有動態的效果呢?

我們將目光轉到鍵盤上,我們會發現有這樣幾個字符:“|/-\”,這樣的幾個字當他們組合在一起並且進行循環的時候,那麼就會出現正在加載的效果,就如同動畫片剛剛出現的情況一樣。

那麼我們就這樣把這些字符加進去,之後你會發現一個新的問題,‘\’是一個比較特殊的字符,他會將其後面的字符轉義,那麼我們同樣使用‘\’將‘\’變成普通的字符,之後就是輸出的事情了。

我們使用lable來表示這個字符串,不過,這個字符串中只有四個字符,而,我們的 i 的的取值範圍可是[0,100],那麼我們怎樣才能做到和前面的同步呢?

這個也很簡單,以前我們寫猜數字小遊戲的時候就遇到過,我們只需將 i 模上一個4,就可以了,下面就來看一下代碼實現部分:

這裏寫圖片描述

這裏寫圖片描述

哦,對了,如果你的電腦上顯示的不是一條,而是很多條,並且保持遞增的,那麼很有可能是字體太大的關係,因爲這裏設置的 i 有點大,所以最好還是將字體調到合適的大小,再來運行程序。

發佈了121 篇原創文章 · 獲贊 90 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章