进度条小程序



                                        Linux下的进度条程序

1.回车和换行的区别:

回车用\r表示,换行用\n表示,回车表示回到当前行的开始地方,而不会到下一行,如果是要接着输出的话,本行以前的内容会被逐一覆盖掉。而换行指的是换到当前位置的下一行,而不会回到行首。

2. IO的三种缓冲机制:

我们可以看到进度条是通过printf函数实现的,没有换行,只是在不断地刷新本行的输出,所以在每一次的输出后只需要回车而不需要换行。

根据冯诺依曼原理可知,输入设备与输出设备之间的联系必须通过存储设备,所以这里就有缓冲机制的分类。IO有三种缓冲机制,分别是全缓冲,行缓冲和无缓冲。

a.全缓冲:指系统在填满标准IO缓冲区之后才进行实际的IO操作。

b.行缓冲:标准IO在输入和输出中遇到换行符时执行操作,由此可知printf函数就是一个行缓冲函数 。

c.无缓冲:标准IO库不对字符进行缓冲存储。

3.进度条的原理

a.在此进度条程序中,“#”的出现是不断递增的,且没有换行出现,所以需要的是回车符号;

b.而且每次在回车之前都需要我们手动刷新“#”的出现,用到了fflush(stdout)c.为了可以直观的看到进度条不断递增的情况,这里用到了usleep函数,此函数是以微秒计算的;

d.为了显示进度,在进度条的后边加了0%-100%,通过用“|\-//”来显示正在加载数据。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值