2015-06-08 42 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是很多工作要做。对于小型项目,我推荐更简单的方法。