使用 C++ 编写一个命令行进度条:ProgressBar

几天前看到了 Python 中有一个库 tqdm 的功能非常亮眼,这个库的作用其实就是为一些循环任务提供了一个进度条显示效果,面向 CLI 的。

具体使用方法还挺简单的:在循环开头把一个迭代对象传给 tqdm 就行了,然后就可以看见信息丰富的进度条更新效果。

长得挺像那么回事的
于是就寻思 C++ 有没有一个这样的第三方库,说不定以后在什么地方能够用得上。

可惜在 Github 上找了一圈,发现已有的库不是速度慢的令人发指,就是不能在 Windows 系统上运行,而且 tqdm 的 C++ official 版本甚至还在 pre-alpha 阶段(就是完全不能用)。

不过看了一下 tqdm 的作者的头衔是满满一堆,commit 栏跟泳池瓷砖似的,估计他就没想起过这茬;然后我看了一眼这些作者的实现方式,感觉也不太复杂,所以干脆就想着自己写一个。

本着轻量级、高度可定制的目标抽空写了几天(然后缝缝补补了好久),最终就写出来了这么个版本:

示例图片

这里拿了仓库里的 demo/ 下的样例程序编译运行演示一下。对比了一下其他人的实现,感觉写的也还过得去(主要是体现了点差异),于是就丢在 Github 上了,有需要的话可以自己 clone 下来用。

顺便一提,这个实现方式只要求编译器支持 C++11。

详细使用方式参见仓库内的 README,← 有任何问题可以到这里提 issues。

看的人多的话指不定会写一篇如何制作这个东西(

PS: 刚刚又在 Github 上看了一圈,才看见已经有一个基于 C++17 的 tqdm 了(乐)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值