标准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);
}
#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);
}
相关文章推荐
- 做人要有乐趣
- Eclipse 的git相关配置
- BestCoder Round #53 (div.2)(hdu5422,hdu5423,hdu5424)
- 多点双向重分发路由环路产生的源点
- JPA EntityManager详解(一)
- 小说情感分析器(基于词典)
- 安卓和苹果的安全性及生态环境对比
- vs2010+cryplib.lib出现错误,是运行库设置的问题
- linux dd 创建ext3分区
- vs2013如何选择一个solution中的project来运行
- Eclipse Mars Release (4.5.0)下安装编译Spark2.7.1
- MySQL 从一张表update字段到另外一张表中
- 一个变量在uefi中的传递过程
- 剑指offer-第七章面试案例1(字符串转换为整型)
- 虚拟键码和windows消息分析
- cocos2d js去掉左下角的三行数字
- 剑指offer-第七章面试案例1(字符串转换为整型)
- linux中查看进程执行情况
- hiberante4连接oracle数据库入门
- 优先队列_二叉堆