先来看一下效果:
CentOS 7 64 位 VMware 17
1.解释一下什么是缓冲区:
缓冲区简单来说是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。
2.缓冲区作用
简单可记为使低速的输入输出设备和高速的CPU能够协调工作,避免低速的输入输出设备占用CPU,解放出CPU,使其能够高效率工作,大大加快运行速度。
3.缓冲区的4种刷新策略:
a. 无缓冲
可理解为立即执行,不进行刷新,标准出错情况的典型代表stderr,这使得出错信息可以马上直接地显示出来。
b. 行缓冲
只有在输入或者是输出中遇到换行符(n)的时候才会进行刷新操作。
c. 全缓冲
只有当缓冲区满了的时候才会进行刷新。典型代表磁盘文件的读写。
d. 程序退出会自动刷新。
4.对比 ‘n’ 'r'
1 | 2 | 3 | 4 | n | |
---|---|---|---|---|---|
会在这里继续往下写 | |||||
1 | 2 | 3 | 4 | r | |
会在这里继续往下写 | |||||
5.进度条的实现
首先先看代码:
代码语言:javascript复制 1 #include <stdio.h>
2 #include <string.h>
3 #define max 101
4 void test()
5 {
6
7
8 int i=0;
9 const char* lable="|/-\";
10 char nums[max];
11 memset(nums,'