Linux下简易进度条的实现

生活在高科技时代的我们,在电脑或手机上游戏娱乐时,通常会看到加载页面或者下载东西的过程中会出现一个不断变长直到填满整个小长方形的条状物,专业一点来说它就叫做进度条。

下面我们可以用C语言代码自己来实现一个简易的进度条。

首先要实现进度条我们就要了解它的原理。在C语言中对printf函数来说,它的输出会先被写在一段缓冲区中,用回车换行进行行刷新。而不是直接输出到显示器上。

在Linux下,/n为回车换行

而在window下,/r,/n分别表示回车和换行。

我们如何来模拟实现一个进度条呢,基本我们可以这样去做,首先定义一个数组让他每次从头开始在一行上输出一个#,下一次比前一次多输出一个#,一直覆盖掉原来的#,然后使光标回退到这行的起始位值,继续输出。再用fflush清空缓冲流,将缓冲区的所有内容立即输出到显示器上而不让其一段一段的显示,并且能满足进度条的实时性,代码截图如下:


在我们运行代码的过程中为了方便起见可以提前编写一个Makefile文件,之后直接make就可生成可执行程序,清理工程也会比较方便,直接输入make clean命令即可。Makefile文件截图如下:


运行时截图:


运行完成后:


这样一个简易的进度条就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值