VC控制台顯示進度

2021-06-07 07:33:00 字數 1253 閱讀 7004

當程式在進行大量的運算或io操作時,常常需要耗很長時間,為了不讓使用者有乙個乏味的等待或是錯誤的認為系統已經宕機,有必要給程式新增進度提示功能。在視窗介面中要顯示進度條和顯示完成百分比是非常容易的,但如何在控制台下去完成這個任務了?一行一行的輸出當前完成百分比肯定是不夠美觀的,最好能「原地踏步」一樣的顯示即舊的數字會被新的數字完全覆蓋。其實這個是很容易的,下面先給出的示例**,稍後再進行講解。

[cpp]view plain

copy

//在控制台下顯示進度

#include 

#include 

intmain()  

return

0;  

}  

可以看出,關鍵是在於\r書上說它是轉義字元中的回車符——描述的不是很到位。準確的講應該是回到本行開始處。

如:printf("123\r100\n");會輸出100。printf("12345\r100\n");會輸出10045。

來個複雜點的例子:

[cpp]view plain

copy

#include 

intmain()    

會輸出什麼了?

第一條語句輸出morewindows,第二條語句輸出12345後回到本行的開始處再輸出00並換行。這樣最開始的二個字元將會被覆蓋從而輸出00rewindows12345。

再來看乙個例子,如下程式執行後將不會輸出任何內容。

[cpp]view plain

copy

"font-size:18px;"

>#include 

intmain()  

這是因為上面程式輸出和清除之間間隔時間太小,人眼無法察覺。下面這個程式將會讓你看清printf()函式執行\r的過程。

[cpp]view plain

copy

#include 

#include 

intmain()  

putchar('\n'

);  

}  

執行後將會看到輸出123456789後,游標移到了本行行首並會在1下面閃爍,閃爍時123456789仍在顯示螢幕上,2秒後,螢幕將輸出依次輸出morewindows並將原來的123456789覆蓋。

結語:在控制台顯示進度無疑是非常方便的,在很多場合完全可以代替視窗進度條的來美化程式和減小使用者等待時的乏味感。

在控制台顯示程式進度

當程式在進行大量的運算或io操作時,常常需要耗很長時間,為了不讓使用者有乙個乏味的等待或是錯誤的認為系統已經宕機,有必要給程式新增進度提示功能。在視窗介面中要顯示進度條和顯示完成百分比是非常容易的,但如何在控制台下去完成這個任務了?一行一行的輸出當前完成百分比肯定是不夠美觀的,最好能 原地踏步 一樣...

golang控制台顯示進度條

x 總量 x 當前進度 x 耗時 通過以上元素可以延伸出 完成百分比 速度 預計剩餘時間 根據設定速度快慢閾值用不同的顏色來顯示進度條。進度條 type bar struct 耗時 乙個計時器,需要注意的是即使進度沒有變化,耗時也是遞增的,看過乙個多程序進度條的寫法,沒有注意這塊,乙個gorouti...

Python 控制台顯示進度條

我們在寫一些python程式時,如果程式執行時間較長,我們希望能夠有乙個進度條來動態的展示程式執行進度。首先能想到的做法是用print將執行到第幾步列印出來,但這樣顯然不是我們想要的進度條,顯示進度占用了很多行,原因是print在末尾預設加上了 n 換行符。詳見 你應該知道的print import...