【Linux】在Linux下实现进度条程序

本文介绍了如何在Linux环境下编写一个进度条程序,重点讨论了缓冲区、回车换行、printf的刷新机制以及使用fflush()强制刷新。同时,讲解了makefile在自动化编译中的应用,以及memset用于初始化数组的重要性。文中还展示了代码实现,包括进度条颜色的控制,并给出了最终的运行结果。
摘要由CSDN通过智能技术生成

【问题】在Linux下实现一个进度条程序,通过makefile进行编译。

首先,我们需要知道进度条是怎么实现的?进度条的动态效果是利用人眼的视觉暂留做到的。比如说:

先输出:               “=                                           ”表示1%

在下一次则显示:“==                                         ”

再一次:               “===                                       ”

由于刷新速度很快,给人的感觉就是在逐次递增,直到完成加载。

这个程序中有几个需要注意的点:

1、缓冲区与回车换行

在使用printf的时候:printf("hello\n")------->buffer-------->file

printf并不会直接将数据写入终端显示文件,而是将数据先写入到一块缓冲区中(标准输出缓冲区),目的是为了提高写入效率(将碎片化的数据集中写入文件,而不是每得到一点数据都进行写入操作),等到手动刷新缓冲区,或者缓冲区内容写满的时候,才会将数据写入文件;

printf中的 \n 具有刷新缓冲区(将数据写入文件)的作用,当然主要作用还是换行,将输出起始位置移动到下行行首。

printf中的 \r 是回车作用,将输出起始位置移动到本行行首。此处我们并不需要换行。

因为pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值