博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
标准 IO 测试 标准输出,输入,出错缓冲大小;全缓冲文本流大小
阅读量:6602 次
发布时间:2019-06-24

本文共 939 字,大约阅读时间需要 3 分钟。

例子:测试缓冲区大小

#include 
int main(int argc, const char *argv[]){ //标准输入大小,没有输入内容时,标准输入缓冲是测不出大小的 getchar(); //在终端获取一个字符,标准输入内没有内容时,大小为0,存在数据时才会测试出其大小 printf("stdin_size:%d\n",stdin->_IO_buf_end - stdin->_IO_buf_base); //标准输出大小 printf("2\n");//先输出一个标准输出,才可以测试大小 printf("stdout_size: %d\n",stdout->_IO_buf_end - stdout->_IO_buf_base); //标准出错 printf("stderr_size: %d\n",stderr->_IO_buf_end - stderr->_IO_buf_base); //全缓冲 //文件流,创建一个文件流 ,追加方式写入时默认文件中存在内容 FILE *fp = NULL; // 以 w 方式每次打开,先把文本流清空在向里面写入数据 if((fp = fopen(argv[1], "w")) != NULL) //参数agv[1] 表示在程序运行时从终端输入 文件名 { //把文件的大小输入到文件中,开始文本中并没有数据查看文件时,其内容为0,写入数据后在通过printf打印其大小就会显示4096 fprintf(fp,"%d\n",fp->_IO_buf_end - fp->_IO_buf_base); printf("fp_size: %d\n",fp->_IO_buf_end - fp->_IO_buf_base);//终端会打印4096 ,这两行调换位置,文本内容会是0,但是先打印的缓冲大小也为0 } return 0;}

 

转载于:https://www.cnblogs.com/electronic/p/10908443.html

你可能感兴趣的文章
Patch OpenSSL使其支持CHACH20_POLY1305加密算法
查看>>
VM虚拟机安装win7
查看>>
VMWare vShere/ESX硬盘的后置备与精简配置之间的转换
查看>>
time_wait和close_wait产生原因及解决
查看>>
python核心编程 -chapter 13
查看>>
业主关心的问题,监理干了什么,监理单位具体回答
查看>>
Ubuntu安装bbr教程
查看>>
我的友情链接
查看>>
linux批量替换文件内容3种方法(perl,sed,shell)
查看>>
Operations Manager 2012 SP1配置部署系列之(一) 单服务器的部署
查看>>
binder 驱动
查看>>
nginx tcp代理
查看>>
tomcat Native APR安装
查看>>
谢烟客---------Linux之总结Linux基础
查看>>
状态栏和导航栏设置备忘
查看>>
centos6下安装node-zk-browser
查看>>
高斯告诉我们的
查看>>
组建自己的Linux-03安装grub,提供系统初始化配置
查看>>
Zend Server的WebAPI焦点:异步操作
查看>>
android源码大放送(实战开发必备)
查看>>