C++:重新使用打印到控制台的行

C++: Re-use line printed to console

编辑:感谢用户 mah 的评论,我找到了我要找的东西。我想回滚行,请参阅this question


我总是使用 std::coutstd::endl 将信息打印到控制台,但是当打印循环进度时,这很快变得非常拥挤:

98.3968 % complete

98.5972 % complete

98.7976 % complete

98.998 % complete

99.1984 % complete

99.3988 % complete

99.5992 % complete

99.7996 % complete

例如 linux 程序 wget 以更好的方式做到这一点,甚至构建了一个由等号 (=) 组成的进度条:

如何在 C++ 中完成此操作或类似操作?有一些不错的图书馆吗?我想一些终端 GUI 库可以做到这一点,但我不需要 "User Interface" 中的“user”部分,我只想以更好的方式打印信息。

您可以打印“=”而不换行,也可以使用 ncurses,我认为 wget 也使用它。

但在我看来,ncurses 有很多工作要做。对于小型项目,我推荐更简单的方法。