Linux下的第一个小程序之进度条

我们在使用一些软件的时候经常会看到一个进度条跑呀跑呀,那么我们如何用C语言来实现它呢?
首先我们需要了解一些基础知识:
1)并不是进度条自己在往前跑,而是因为每个时刻看到的进度的长度不一样,这样人眼就会看到一个动态的效果,好像是进度条在增长。
2)在屏幕上打印字符串我们需要用到C语言中的printf函数。
我们要实现在同一行先打印一个“=“,然后光标回到最左边,再打印”==“,之后再打印”===“,这样每次当前打印的都比上一次多一个‘=’。原理看起来挺简单,那么要如何实现呢?
3)首先要去了解printf函数在屏幕上打印字符串的原理:
调用printf函数的时候它会先把数据放到缓冲区,那么什么时候时候会把它刷新到屏幕上呢,当它发现缓冲区里有\n出现,或者是程序退出的时候。
4)那么问题又来了,我们希望每一次都把字符串打印到同一行,当然就不能用\n啦,要怎么办呢?灵光一现,突然想起来库里提供了一个叫做fflush的函数,可以强制刷新缓冲区里的数字。
好啦,所有关键性的问题都已解决,下面开始动手写程序:
这里写图片描述
为了效果更美观和清晰,加上了[],百分比,最后还有“|/-\”让它可以动起来像一个圆一样(但是中间的-太短,看起来像个椭圆),还用到了一些printf的格式代码 -(左对齐),101(字段宽度),\r(回车)

效果如下(没办法展示动态的过程):
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值