mar*_*ega 3 c++ linux console status progress-bar
我正在使用C++制作一个Linux应用程序,它会将信息输出到控制台.程序的某些部分需要一段时间来计算,我想在控制台中添加一个状态栏,类似于wget中使用的状态栏(我在下面给出了我自己的描述).
%complete[===========> ] eta
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?是否有任何有用的库可以轻松添加此功能?
如果你的程序就像wget,也就是说,它基本上是一个批处理程序而不需要全屏UI(我建议使用ncurses),你可以使用这个技巧来打印一个回车符(但不是换行符)你的路线; 你写的下一件事将覆盖同一行.
这是一个演示.
#include <iostream>
#include <unistd.h>
int main(void)
{
for (int i = 0; i < 10; i++) {
std::cout << "Status: " << i << "\r" << std::flush;
sleep(1);
}
std::cout << "Completed.\n";
}
Run Code Online (Sandbox Code Playgroud)