前置知识
要写出这个程序, 我们需要学会几个前置知识;
1 回车换行
回车和换行是两个操作
以我们写作文的时候为例子, 我们写字时, 手中握着的笔就是光标
, 光标在哪, 我们就在哪里输入,我们在写好的一行里, 回到该行的最开始,这个操作我们称为回车
, 而我们从上一行,平行的移动到下一行的行为,称为换行
;
2 缓冲区
我们趁现在做一些预备工作
首先先创建上述的文件 然后创建makefile
文件并写下
配置好我们的make
后, 我们就可以开始写一些代码了
这里为了方便, 我就省略一些没必要的步骤了
写好的代码如下
执行后我们发现, 系统在打出hello Linux
后 停顿2秒
但是如果我们吧换行符号去掉呢
这个时候我们执行文件后就发现, 居然是先停顿了, 然后在打印符号 !!
也就是,我们发现程序居然看执行了下面, 再执行的上面??
但结果真的是这样吗?
我们知道C语言
是至上向下的执行命令的,也就是一定是先执行的打印操作
然后在执行的停顿
,那么为什么我们会看到这样的现象呢?
在我们sleep
的期间, 我们打印的内容跑到哪里去了?
首先他显示出来了, 那么他一定是没有丢失的, 那么在sleep
期间他一定是被放在了某一个地方,放在哪里了呢?
答案就是缓冲区
由于我们写的是c语言代码
所以这个缓冲区一定是由c语言
提供的
我们现在知道有缓冲区
的存在了, 那么我们怎么证明他的存在呢?
c语言会自动帮我们打开三个输入输出流
1.标准输入 2.标准输出(显示器, stdout) 3.标准错误
我们直接强制刷新一下试试
现在变成了先打印hello LInux
然后顿两秒 再显示 bash命令符
到这里我们就浅浅了解了缓冲区的存在;
在写进度条之前我们浅浅的写一个倒计时指令
完美的运行了起来
先展示我们的V1
版本
这样就可以是实现最基础的进度条动画;
但是通常我们的进度条不是这么纯纯的一个动画, 而是真的能反应下载的进度的, 正常的进度条, 应该是, 下载软件将下载进度传给生成进度条的函数, 然后函数在根据传来的参数进行生成进度条;
所以我们对文件进行以下修改
这样我们就完成了这个小程序–进度条