【问题标题】:C++: Re-use line printed to console [duplicate]C ++:重用打印到控制台的行[重复]
【发布时间】:2015-08-23 01:28:58
【问题描述】:

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


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

98.3968 % 完成

98.5972 % 完成

98.7976 % 完成

98.998 % 完成

99.1984 % 完成

99.3988 % 完成

99.5992 % 完成

99.7996 % 完成

例如,Linux 程序 wget 以更好的方式执行此操作,甚至构建了一个由等号 (=) 组成的进度条:

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

【问题讨论】:

  • 不要使用 std::endl(或\n)。请改用\r
  • (你确实需要用户部分。毕竟输出是给用户的……)
  • @mah 谢谢我不知道\n,这看起来已经好多了。

标签: c++ terminal console formatting output


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-09-20
    • 2016-07-07
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2020-05-17
    • 2013-11-07
    相关资源
    最近更新 更多