Linux小程序——进度条

在linux下的缓冲有三种方式:无缓冲,行缓冲和全缓冲,当然在C程序中缓冲区的方式是以行缓冲的方式刷新的,也就是说程序要在输入流中获取一个行结束标志(换行或者是EOF)才会显示在输出屏幕上。

举个栗子:

Linux小程序——进度条

运行结果为先在屏幕上打印hello再sleep3秒:

Linux小程序——进度条

另一个栗子:

Linux小程序——进度条

运行结果为先sleep3秒,再在屏幕上打印出hello:

Linux小程序——进度条

以上栗子说明c库里的printf()函数默认输出数据在标准输出显示器上,先将数据输出在缓冲区中,该缓冲区按行刷新。

fflush()函数:刷新缓冲区;

Linux小程序——进度条

举个栗子:

Linux小程序——进度条

运行程序先在屏幕上打印hello再sleep3秒,不换行:

Linux小程序——进度条

通过对缓冲区和fflush()的理解,我们就可以完成一个进度条程序了。

Linux小程序——进度条

就可以完成一个简单的进度条了。