实现进度条的代码:
Makefile内容:
运行效果图:
进度条原理:
在Linux中,进度条一般都是类似于[=============== ][80%]这种样式,如果我们要编写一个模拟进度条的小程序我们创建一个字符数组,一个循环一百次,每一次循环时就把字符里面的字符串第几次循环的位置上存储上=字符,并在循环内部将字符串内容输出,每次循环输出一次,但是每次输出只回车不换行。这样就可以模拟出来一个进度条往前的现象了,百分号之类的都是一些小的方面在这里不再赘述。
缓冲区:
由于计算机都是冯诺依曼体系结构,当要输出时CPU处理完以后并不直接输出到输出设备上而是存储在内存中只有当内存中存储满才刷新到输出设备上。在模拟进度条的小程序中我们每次输出以后就要暂停上一定的时间,如果不暂停进度条就会直接输出结束,就看不到中间的过程。所以每次暂停的时候输出的内容还在内存中,没有显示到输出设备中,所以要用fflush函数强制刷新内存,将内的数据输出到输出设备。
回车换行:
在计算机中,回车和换行是两个不同的概念,回车是将光标从该行行尾或行中移动到行首,换行就是将光标从该行移动到下一行相同的位置。类似于老式打字机,每次换行以后一下还要将打字针头拉回到行首,这两个是一个意思。
这个程序就讲到这里,如果有疑惑或者文中出现错误请在评论中评论,谢谢。