Linux下簡易進(jìn)度條的實(shí)現(xiàn)代碼
在生活中,進(jìn)度條是很常見的,那么,進(jìn)度條是如何實(shí)現(xiàn)的呢?
首先,進(jìn)度條的動態(tài)是利用人眼視覺暫留效果的。實(shí)際上是如下過程:
先輸出:[= ]表示進(jìn)度是1%,刷新之后
再輸出:[== ]......由于刷新的很快,所以看起來像是等號不斷向后增加,直到進(jìn)度完成。
在寫這個(gè)程序之前我們需要了解一下的知識:
1、緩沖區(qū)
緩沖區(qū)分為無緩沖、行緩沖、全緩沖。
無緩沖:表示的是沒有緩沖,可以將信息立馬顯現(xiàn)出來,典型代表是標(biāo)準(zhǔn)錯(cuò)誤流stderr。
行緩沖:表示的是輸入輸出遇到換行才執(zhí)行真正的I/O操作。典型的代表是鍵盤的操作。
全緩沖:表示的是輸入輸出寫滿緩沖區(qū)才執(zhí)行I/O操作。典型的代表是磁盤的讀寫。
2、回車換行
回車用'\r'表示,表示的是回到這行的起始位置。換行用‘\n'表示,表示的是換行到下一行。
在C語言中,刷新緩沖區(qū)的函數(shù)是fflush函數(shù),強(qiáng)制刷新緩沖區(qū)。實(shí)現(xiàn)這個(gè)進(jìn)度條應(yīng)使用的是無緩沖,實(shí)時(shí)的將進(jìn)度條的變化顯現(xiàn)出來。在這里,不需要換行只需要回車。
程序代碼如下:

以上這篇Linux下簡易進(jìn)度條的實(shí)現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux如何使用libudev獲取USB設(shè)備VID及PID
這篇文章主要介紹了Linux如何使用libudev獲取USB設(shè)備VID及PID,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Linux實(shí)現(xiàn)自動掛載autofs的方法詳解
這篇文章主要介紹了Linux實(shí)現(xiàn)自動掛載autofs的相關(guān)資料。autofs 服務(wù)將實(shí)現(xiàn)自動掛載外圍設(shè)備,NFS共享目錄等,并在空閑5分鐘后后自動卸載,需要的可以參考一下2022-10-10
Godaddy VDS Simple Control Panel出錯(cuò)的解決方法
Godaddy VDS Unix提供的簡易的Simple Control Panel服務(wù)器控制面板,但是對于我這款VDS中最低檔次的服務(wù)器,內(nèi)存256M來說,要運(yùn)行所有的服務(wù)器組件服務(wù),是個(gè)不小的考驗(yàn)2010-03-03
Linux centos7 下安裝 phpMyAdmin的教程
這篇文章主要介紹了Linux centos7 安裝 phpMyAdmin的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
Linux centos如何讓普通用戶獲取root權(quán)限
這篇文章主要介紹了Linux centos如何讓普通用戶獲取root權(quán)限問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05

