【问题标题】:Printing to a progress bar to the terminal from Java/C++从 Java/C++ 打印到终端的进度条
【发布时间】:2011-09-18 01:19:08
【问题描述】:

我想在屏幕上更新我的程序的百分比进度。

我有一个可以打印的进度条。当进度超过 10% 时,我会添加一个 *,但我也想将实际百分比正确写入每个数字。但是,我不想每次都写一个新数字,因为它会产生以下效果:

1  
2  
3  
4  

相反,我只想在屏幕上保持一个不断更新的数字。

我该怎么做? (……在 Java/C++ 中,但我认为这无关紧要)

【问题讨论】:

  • 你能分享你已有的代码吗?

标签: linux terminal java c++


【解决方案1】:

在 C++ 中,我相信你想抛出 \r 来让你回到行首(而不是 \n),或者你会想看看 curses 库。不确定,但您可能可以在 Java 中做类似的事情。

【讨论】:

    【解决方案2】:

    输出\b 会将光标移回一列,输出\r 会将光标返回到第一列。从那里您可以打印要显示的新值。

    std::cout << "111\r22\r3" << std::endl;
    

    【讨论】:

      【解决方案3】:

      对于 C++,我认为 curses 提供了文本 GUI 或其他东西……有人已经编写了基于文本的进度条,你应该使用他们的实现,这样你就不必重新做他们的工作。

      另外,如果你不知道,java 有一个你可以使用的进度条。 http://docs.oracle.com/javase/tutorial/uiswing/components/progress.html

      【讨论】:

        猜你喜欢
        • 2014-12-03
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 2013-09-14
        • 1970-01-01
        • 2015-11-04
        • 2012-07-14
        • 1970-01-01
        相关资源
        最近更新 更多