从Java / C ++打印到终端的进度条

时间:2011-09-18 01:19:08

标签: linux terminal java c++

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

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

1  
2  
3  
4  

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

对于C ++,我认为curses提供了文本GUI或某些东西......某人已经编写了一个基于文本的进度条,你应该使用它们的实现,这样你就不必重新开始工作了。

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