例子:测试缓冲区大小

#include <stdio.h>

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[], "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 ;
}

标准 IO 测试 标准输出,输入,出错缓冲大小;全缓冲文本流大小的更多相关文章

  1. 标准 IO 测试 可以打开多少流

    #include <stdio.h> #include <string.h> #include <errno.h> //trerror(errno) int mai ...

  2. 标准 IO fread 与 fwrite 的使用(可以实现二进制流的读写)

    size_t   fread(void *ptr,  size_t size,   size_t nmemb,   FILE *stream); size_t   fwrite(const void ...

  3. 为什么需要标准IO缓冲?

    (转)标准I/O缓冲:全缓冲.行缓冲.无缓冲 标准I/O库提供缓冲的目的是尽可能地减少使用read和write调用的次数.它也对每个I/O流自动地进行缓冲管理,从而避免了应用程序需要考虑这一点所带来的 ...

  4. 第十三篇:带缓冲的IO( 标准IO库 )

    前言 在之前,学习了 read write 这样的不带缓冲IO函数. 而本文将讲解标准IO库中,带缓冲的IO函数. 为什么要有带缓冲IO函数 标准库提供的带缓冲IO函数是为了减少 read 和 wri ...

  5. 带缓冲的IO( 标准IO库 )

    前言 在之前,学习了 read write 这样的不带缓冲IO函数.而本文将讲解标准IO库中,带缓冲的IO函数. 为什么要有带缓冲IO函数 标准库提供的带缓冲IO函数是为了减少 read 和 writ ...

  6. C5 标准IO库:APUE 笔记

    C5 :标准IO库 在第三章中,所有IO函数都是围绕文件描述符展开,文件描述符用于后续IO操作.由于文件描述符相关的操作是不带缓冲的IO,需要操作者本人指定缓冲区分配.IO长度等,对设备环境要求一定的 ...

  7. java开发知识IO知识之输入输出流以及文件

    目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStrea ...

  8. linux标准IO缓冲(apue)

    为什么需要标准IO缓冲? LINUX用缓冲的地方遍地可见,不管是硬件.内核还是应用程序,内核里有页高速缓冲,内存高速缓冲,硬件更不用说的L1,L2 cache,应用程序更是多的数不清,基本写的好的软件 ...

  9. 标准IO的缓冲问题

    在看APU时,第8章进程时, #include <stdio.h> #include <unistd.h> ; char buf[] = "a write to st ...

随机推荐

  1. 【转】网站SEO优化中网站的三大标签指的是什么?

    对于很多刚刚接触SEO的新手朋友来说,会经常听到别人提及网站的三大标签.那么,具体什么是网站的三大标签呢?其实网站的三大标签指的就是title.keywords.description,通俗一点也可以 ...

  2. 2018-2-13-安装-aria2

    title author date CreateTime categories 安装 aria2 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 + ...

  3. android thread Runnable

    原文链接: http://blog.csdn.net/boyupeng/article/details/6208072 这篇文章中有三点需要提前说明一下, 一: 在android中有两种实现线程thr ...

  4. Linux上的VirtualBox如何使用USB

    问题: VirtualBox设置中已经启用了"USB2.0(EHCI)控制器"选项,但是虚拟机中始终没有USB设备,右下角的状态也显示没有连接任何USB设备,看起来像是Virtua ...

  5. 删除DataFrame中特定条件的行/列

    在<Python进行数据分析与挖掘实战>一书中,第10章 删除热水器不工作的数据(水流量为0并且开关机状态为“关”的数据.) import pandas as pd data=pd.rea ...

  6. vue全家桶(vue2.x+vue-router+axios+webpack)项目搭建

    参考博客文章 博主FungLeo的Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版 注:原博主写的非常详细 本文章为根据原博主教程总结的自己的搭建流程 一.安装n ...

  7. vue-bus全局事件中心简单Demo

    1.vue-cli搭建好项目之后,使用npm安装vue-bus npm install vue-bus 2.在入口文件main.js中全局注册 import Vue from 'vue'; impor ...

  8. 【代码工具】Orika JavaBean映射工具探秘

    转自:https://www.cnblogs.com/albert1024/articles/8434741.html Orika是一个简单.快速的JavaBean拷贝框架,Orika使用字节代码生成 ...

  9. Codeforces F. Bits And Pieces(位运算)

    传送门. 位运算的比较基本的题. 考虑枚举\(i\),然后二进制位从大到小考虑, 对于第\(w\)位,如果\(a[i][w]=1\),那么对\(j.k\)并没有什么限制. 如果\(a[i][w]=0\ ...

  10. 【LeetCode 17】电话号码的字母组合

    题目链接 [题解] 用回溯法搞一下. 一搞就有~ 注意输入空串的时候别返回那个空串.. [代码] class Solution { public: string dic[10]; vector< ...