Linux下的小程序:进度条

当我们再上传或者下载什么东西的时候,通常会显示一个界面,这个界面显示的是你加载的多少,那么在Linux下有没有进度条呢?

今天就来实现一下吧!首先应该出现的就是一个进度,另外还有一个是百分比。百分比还好说,关键是进度,这是一个逐渐增加的形式,而且还是一直显示一个界面。

逐渐增加还好说一点,我们只需要写一个循环就可以了,关键是一直显示的是最新的显示信息,这个就用到我们以前学的一个函数了,fflush(),清洗读写缓冲区。具体的使用方法请参考百度百科。

那么一个精致的进度条程序就成了:

Linux下的小程序:进度条_第1张图片

这样,我们保存并退出,然后gcc编译生成一个可执行文件a.out,在在运行这个文件,之后就会是见证奇迹的时候了:

这里写图片描述

我们会发现,进度条随时间的推移一步步的从左往右走着,后面的百分比也随之变化,不过还是不太完整,要是还想要一些动态的效果呢?比如说:正在加载的时候不是有转圈的东西吗?这个在鼠标上见得最多吧。那么如何将这个效果也加上呢?

首先应该想一下,如何能让这个具有动态的效果呢?

我们将目光转到键盘上,我们会发现有这样几个字符:“|/-\”,这样的几个字当他们组合在一起并且进行循环的时候,那么就会出现正在加载的效果,就如同动画片刚刚出现的情况一样。

那么我们就这样把这些字符加进去,之后你会发现一个新的问题,‘\’是一个比较特殊的字符,他会将其后面的字符转义,那么我们同样使用‘\’将‘\’变成普通的字符,之后就是输出的事情了。

我们使用lable来表示这个字符串,不过,这个字符串中只有四个字符,而,我们的 i 的的取值范围可是[0,100],那么我们怎样才能做到和前面的同步呢?

这个也很简单,以前我们写猜数字小游戏的时候就遇到过,我们只需将 i 模上一个4,就可以了,下面就来看一下代码实现部分:

Linux下的小程序:进度条_第2张图片

这里写图片描述

哦,对了,如果你的电脑上显示的不是一条,而是很多条,并且保持递增的,那么很有可能是字体太大的关系,因为这里设置的 i 有点大,所以最好还是将字体调到合适的大小,再来运行程序。

你可能感兴趣的:(Linux,函数,linux,fflush,进度条)