日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux :vim 实现命令行下输出进度条

發布時間:2023/12/20 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux :vim 实现命令行下输出进度条 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、? 進度條原理:

進度條的的動態增長是利用人的視覺短暫停留效果的,不斷從輸出緩沖區刷新出相同的內容,在肉眼看來進度條在不斷的增長。

在顯示器上先輸出[#??????????????????????????????????????????][%1]

刷新一次之后,???? [##????????????????????????????????????????? ][%2],由于刷新很快,看起來進度 ‘#’不斷增長,直到進度完成%100

2、? 緩沖區:

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

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

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

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

全緩沖:表示的是輸入輸出寫滿緩沖區才執行I/O操作。典型的代表是磁盤的讀寫。

3、 回車換行:

回車用'\r'表示,表示的是回到這行的起始位置。換行用‘\n'表示,表示的是換行到下一行。

在C語言中,刷新緩沖區的函數是fflush函數,強制刷新緩沖區。實現這個進度條應使用的是無緩沖,實時的將進度條的變化顯現出來。在這里,不需要換行只需要回車。

4、 fflush:

fflush,函數名,?清除讀寫緩沖區,需要立即把輸出緩沖區的數據進行物理寫入時。

fflush(stdin)刷新標準輸入緩沖區,把輸入緩沖區里的東西丟棄[非標準]

fflush(stdout)刷新標準輸出緩沖區,把輸出緩沖區里的東西打印到標準輸出設備

?

5、進度條代碼如下:

Progress_bar.c

?

?

Makefile :

?

?

總結

以上是生活随笔為你收集整理的linux :vim 实现命令行下输出进度条的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。