原创版权标志超简单!使用Boost实现控制台显示执行进度条

作者:codexia  发表时间:2015/6/25  阅读:1185
[摘要]使用Boost可以简单的实现控制台显示执行速度的进度条,不看不知道,一看吓一跳。原来Boost使用这么方便易用呀!
文章来源:C++技术网 原创文章版权所有,未经授权,禁止转载。

程序代码:

#include <boost/progress.hpp>// - boost进度头文件
#include <iostream>
using namespace boost;
using namespace std;
#include <windows.h>
int main()
{
    progress_display p_d(100);// - 创建并设置总进度值,自动初始化起始值为0

    for (int i=0;i<100;i++)
    {
        Sleep(1000);
        ++p_d;// - 增加进度值,一次只能增加一个
    }
    cout<<"执行完毕!"<<endl;
    int i;
    cin>>i;// - 阻止执行完就马上退出
    return 0;
}

程序执行效果图如下:
 

代码说明:
1.如果不知道如何安装Boost库,请阅读《Windows下VS安装和使用Boost库入门》。
2.使用progress_display定义个对象,传入的数字就是最大的进度值。可以传递任意的无符号数字。对象内部设定好做大的进度值,并初始化起始进度值为0.
3.此对象自动计算进度比例,并使用*显示进度值。进度则是根据p_d当前的值自动计算得到。不需要你考虑内部实现细节。
4.此对象只能使用前置的++操作符自增进度。不要使用后置的++来自增哦。此进度类重载了++前置操作符进行自增的,没有重载后置和赋值等。而当前进度值为私有成员,所以无法直接操作当前进度值。
5.自增不要超过总进度值,否则就无意义了。
6.如果要查看当前进度值,调用成员函数count(),如果要查看总进度值,调用成员函数expected_count(),就是创建进度对象时传入的值。

文章来源:C++技术网 原创文章版权所有,未经授权,禁止转载。



  • just    2015/10/13 23:54:56回复
    不错。


返回顶部

关于我们 QQ群 广告服务 增值服务 捐款资助 版权声明 RSS订阅 站点地图 百度网站地图 意见反馈
鄂ICP备14001349号-2, Copyright © 2014-2017, CJJJS.COM/CJJJS.CN, All Rights Reserved

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)

C++技术网群聊