您的位置:首页 > 其它

标准IO 计算缓冲区的长度<Ps:全缓存4096, 行缓存1024,不带缓存0>

2015-09-01 11:48 309 查看
#include<stdio.h>

#include<stdlib.h>

/**

* 标准IO 提供三种类型的缓存

* 全缓存,行缓存,不带缓存

* 此程序为:标准IO 全缓存的计算

* */

int main(int args, char **argv)

{

FILE *fp = NULL;

if ((fp = fopen("./a.txt", "w+")) == NULL)

{

perror("19:fail to fopen");

exit(EXIT_FAILURE);

}

putc('a', fp); // 只有对文件进行读写操作了,buf才会为非0

printf("IO_cache = %d\n", fp->_IO_buf_end - fp->_IO_buf_base);

}

#include<stdio.h>

#include<stdlib.h>

/**

* 标准IO 提供三种类型的缓存

* 全缓存,行缓存,不带缓存

* 此程序为:标准IO 行缓存的计算

* */

int main(int args, char **argv)

{

int i = 0;

for (i = 0; i < 1025; ++i) {/* 行缓存的边界值

1024:不能输出,i1025刚好可以输出*/

fprintf(stdout, "a");

}

while (1);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: