为c++控制台应用程序添加状态栏
Adding a status bar to c++ console applications
我正在使用c++制作一个linux应用程序,它将把信息打印到控制台。部分程序将需要一段时间来计算,我想在控制台中添加一个状态栏,类似于wget中使用的状态栏(我把自己的描述放在下面)。
%complete[===========> ] eta
实现这个目标的最好方法是什么?有什么有用的库可以方便地添加这个功能吗?
如果你的程序类似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";
}
ncurses库应该对您有用。或者您可以一个字符一个字符地书写进度行,使用退格,调用fflush
或std::flush
等。
更简单的方法是输出点…
您可以使用debconf-apt-progress来运行命令,同时像apt那样显示进度行。您的命令需要通过管道fd将进度报告回debconf-apt-progress。我还没有弄清楚如何从debconf-apt-progress中提取这个功能。
相关文章:
- 如何在cocos-2dx中隐藏ios13中的状态栏
- Sublime Text 3 在我尝试编译C++代码时在状态栏上显示"No Build System"。为什么?
- 如何在浮点状态下隐藏 CDockablePane 中的标题栏
- 如何在Windows C MFC应用程序状态栏中禁用CAP NUM SCRL指示器
- 在状态栏上显示来自不同线程中回调的消息
- 为什么这个状态栏输出乱码的中文样字符
- 显示状态栏默认消息
- 为 Web 视图添加 UI 栏按钮项,但应用崩溃
- 将图标添加到状态栏 - Qt
- Qt在状态栏中显示不断更新的百分比
- 从另一个应用程序读取状态栏
- 使用 SB_SETTEXT 的状态栏中显示的字符数是否有限制
- 尺寸手柄从MacOSX上的Qt 5.1的状态栏中消失了
- 如何定位OPENGL顶部的状态栏
- 为c++控制台应用程序添加状态栏
- 如何使用QtDesigner在QFrame中添加菜单栏
- MFC状态栏-使文本与按钮行为的链接
- WinApi和c++ -状态栏不更新
- 在 CListCtrl 中为图像添加状态图标
- 如何在qt中添加工具栏上下文菜单项