Linux小程序——进度条

1.前置知识说明

①回车换行

首先我们需要知道,回车与换行是两个概念,在C语言中使用"\n"时,默认使用的是回车+换行,举一个简单的例子,在以前写作文时,我们在某一行写到最后一个字时,我们会将字写在下一行,此时这个换行的动作就叫换行,但是如果只换行的话此时的笔尖应该落在下一行的最后一个格子上,此时我们再将笔尖移动到这一行的开始,这个动作就叫做回车。也就是说如果我们只使用回车("\r")的话,会将光标移动到本行的一开始,只使用换行的话,会将光标移动到下一行的相同位置。

②缓存区

首先,让我们来看下面这一段C语言的代码

Linux小程序——进度条_第1张图片

我们将其编译运行后可以发现,它在运行后并没有立刻打印num,而是在等待两秒之后再出现结果,从结果上来看,看似是sleep先于打印函数printf执行,但是实际上C语言的执行顺序都是由上至下的,打印之后的结果被储存到了缓存区, 如果使用"\n"的话会进行一次强制刷新,即立刻显示缓存区中的内容,但是由于这里没有加上"\n",因此缓存区的内容一直持续到sleep指令结束才出现,那么我们有没有办法使缓存区强制刷新呢?当然是有的,我们只需要使用fflush函数即可。即

Linux小程序——进度条_第2张图片

2.倒计时程序的实现

在知道了上面的两个知识之后,我们便可以来根据它们实现一个简单的倒计时程序

Linux小程序——进度条_第3张图片

运行结果如下

Linux小程序——进度条_第4张图片

3.进度条程序的实现

程序实现如下

Linux小程序——进度条_第5张图片程序运行结果如下

Linux小程序——进度条_第6张图片

你可能感兴趣的:(Linux,linux,服务器)