2013-03-02 78 views
0

我知道如何在C中創建進度條(只需打印完成多少和打印之前,刷新屏幕)。但是爲了做到這一點,我失去了時間(用進度條解決問題需要更多的時間,而不是沒有進度條)。通過進度條,我的意思是已經完成了多少的百分比。有沒有解決方案?進度條不會在C中丟失時間

+1

它是什麼你想要做的 - 顯示一個進度條,當你的程序正在做的事情,但CPU不應該浪費週期顯示進度欄? – Tuxdude 2013-03-02 18:59:00

+3

聽起來像你想要使用線程? – paulsm4 2013-03-02 18:59:16

+4

與在後臺完成的實際處理相比,更新進度條的過程應該使用最少的時間。如果它*具有顯着的影響,那麼你可能不應該使用進度條,因爲當進度的演變幾乎是人眼無法捕捉時它是多餘的。 – 2013-03-02 19:04:13

回答

0

如果它顯着增加你的運行時間,那麼你可能經常寫stdout。例如嘗試類似

for(i = 0; i < 1000000; i++) 
    printf("\r%d",i); 

VS

for(i = 0; i < 1000000; i++); 

爲了提高性能,你可以在這麼多的操作或經過的時間之後寫入控制檯。

+2

堅持下去,我想我明白了......等等,什麼?! – 2013-04-10 18:03:56