Linux下簡易進度條的實現代碼
在生活中,進度條是很常見的,那么,進度條是如何實現的呢?
首先,進度條的動態是利用人眼視覺暫留效果的。實際上是如下過程:
先輸出:[= ]表示進度是1%,刷新之后
再輸出:[== ]......由于刷新的很快,所以看起來像是等號不斷向后增加,直到進度完成。
在寫這個程序之前我們需要了解一下的知識:
1、緩沖區
緩沖區分為無緩沖、行緩沖、全緩沖。
無緩沖:表示的是沒有緩沖,可以將信息立馬顯現出來,典型代表是標準錯誤流stderr。
行緩沖:表示的是輸入輸出遇到換行才執行真正的i/o操作。典型的代表是鍵盤的操作。
全緩沖:表示的是輸入輸出寫滿緩沖區才執行i/o操作。典型的代表是磁盤的讀寫。
2、回車換行
回車用'\r'表示,表示的是回到這行的起始位置。換行用‘\n'表示,表示的是換行到下一行。
在c語言中,刷新緩沖區的函數是fflush函數,強制刷新緩沖區。實現這個進度條應使用的是無緩沖,實時的將進度條的變化顯現出來。在這里,不需要換行只需要回車。
程序代碼如下:
以上這篇linux下簡易進度條的實現代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。
本文由尤尤互聯整理收集 ,轉載保留鏈接!網址:http://www.marsesport.com/categor/post/7.html
本站發布的內容《尤尤互聯》以原創、轉載、分享網絡內容為主,如有侵權,請聯系電話:182-7159-2020,qq郵箱:910351876 ,我們將會在第一時間刪除。文章觀點不代表本站立場,如需處理請聯系我們。
