Linux下实现进度条
能够实现进度条是由于printf是行缓存,遇到’\n’才显示,如果即时刷新显示,需要调用 fflush函数。(C语言中缓冲区的刷新方式是以行缓冲刷新的。也就是说,程序要在输入流中取到一个行结束标志(可以是换行符和EOF)才会显示在输出设备屏幕上。注意,程序结束时,系统会强制刷新缓冲区)
一开始将数组初始化为0,每次循环修改“=*”,然后打印当前的数组,因为0是换行符‘\n’的ascall码,所以每次只打印到修改处。然后再回车,但是不换行(’\r’),sleep上一段时间。我们就可以看到进度条的动态生长了。
代码如下
结果如下