2015-06-08 41 views
0

編輯:感謝用戶麻將的評論,我找到了我正在尋找的東西。我想回滾行,見this questionC++:重新使用線路打印到控制檯


我一直使用std::coutstd::endl信息打印到控制檯,但打印循環的進展時,這成爲迅速非常擁擠:

98.3968%完成

98.5972%完成

98.7976%完成

98.998%完成

99.1984%完成

99.3988%完成

99.5992%完成

99.7996%完成

比如Linux程序wget這是否在好得多甚至構建一個由相同(=)符號組成的進度條:Example output of wget

這個或類似的東西如何在C++中完成?有一些不錯的圖書館嗎?我猜一些終端GUI庫可以做到這一點,但我不需要「用戶界面」中的「用戶」部分,我只想以更好的方式打印信息。

+2

請勿使用std :: endl(或'\ n')。改用'\ r'。 – mah

+0

(你*做*需要用戶部分。畢竟,輸出是爲用戶...) – deviantfan

+0

@mah謝謝我不知道'\ n',這看起來好多了。 – Cat

回答

1

您可以在不換行的情況下打印「=」,也可以使用ncurses,我認爲這也是wget使用的。

但在我看來,ncurses是很多工作要做。對於小型項目,我推薦更簡單的方法。