对普通文件流,标准输入,标准输出及标准错误输出流进行了判断。

在进行判断是,使用了STRUCT_IO_FILE中的_FLAGS成员。

 1 [root@localhost ccode]# vim buff_type_test.c
 2 #include <stdio.h>
 3
 4 void pr_stdio(const char *, FILE *);
 5
 6 int main(void)
 7 {
 8     FILE *fp;
 9     fputs("enter andy character\n", stdout);
10     if(getchar() == EOF)
11         printf("getchar error");
12     fputs("one line to standard error\n", stderr);
13     pr_stdio("stdin", stdin);
14     pr_stdio("stdout", stdout);
15     pr_stdio("stderr", stderr);
16
17     if((fp = fopen("/etc/motd", "r")) == NULL)
18         printf("fopen error");
19     if(fgetc(fp) == EOF)
20         printf("get error");
21     pr_stdio("/etc/motd", fp);
22     return (0);
23 }
24
25 void pr_stdio(const char *name, FILE *fp)
26 {
27     printf("stream = %s, ", name);
28     if(fp->_flags & _IO_UNBUFFERED)
29         printf("unbuffered");
30     else if(fp->_flags & _IO_LINE_BUF)
31         printf("line buffered");
32     else
33         printf("fully buffered or modified");
34     printf(",buffer size = %d\n", fp->_IO_buf_end - fp->_IO_buf_base);
35 }
36
37 ~
38 ~
39 ~
40 ~
41 "buff_type_test.c" 35L, 824C written
42 [root@localhost ccode]# gcc -o buff_type_test buff_type_test.c
43 [root@localhost ccode]# ./buff_type_test
44 enter andy character
45 ytuy
46 one line to standard error
47 stream = stdin, line buffered,buffer size = 1024
48 stream = stdout, line buffered,buffer size = 1024
49 stream = stderr, unbuffered,buffer size = 1
50 get errorstream = /etc/motd, fully buffered or modified,buffer size = 4096

转载于:https://www.cnblogs.com/aguncn/archive/2013/04/04/2999340.html

测试标准I/O缓冲的代码,相关推荐

  1. 0003 渗透测试标准

    0003 渗透测试标准 渗透测试标准(PTES:Penetration Testing Executjion Standard)是对渗透测试的重新定义,通过定义一次完整的渗透测试过程的标准,来实现一次 ...

  2. 汽车电子测试标准:ISO 7637-2 ISO 16750-2

    在汽车电子中,电源瞬态浪涌可能对电子设备造成永久的损坏.随着汽车上电子设备应用的逐年增多,各家汽车厂商在实践中积累了宝贵的经验,发现在某些特定场景下的电源瞬态变化更易对设备造成损坏.因此车厂都制定相关 ...

  3. 电机控制应用中的电磁兼容性设计与测试标准

    简 介: 针对小型机电系统中由于静电的积累放电所造成的影响,本文结合 EMC design guides for motor control applications 给出了电机驱动应用中的电磁兼容性 ...

  4. ML之FE:数据处理—特征工程之数据集划分成训练集、验证集、测试集三部分简介、代码实现、案例应用之详细攻略

    ML之FE:数据处理-特征工程之数据集划分成训练集.验证集.测试集三部分简介.代码实现.案例应用之详细攻略 目录 数据集划分成训练.验证.测试三种数据的简介 1.训练集.验证集的作用 2.验证数据集 ...

  5. 光纤测试时怎么选择对应项目的测试标准及测试仪?

    在建造数据中心.办公大楼时采用综合布线认证测试作为验收是必须要做的事.另外我们日常的网络维护.故障诊断也是需要对应的检测方法来帮助我们遇到问题时进行分析和判断问题.光纤测试仪针对不同的测试场景,都是使 ...

  6. 千兆光纤收发器测试标准及参数

    现如今,千兆网技术已成为新建网络和改造的首选技术,虽然对综合布线系统的性能要求也提高,但是却给用户的使用和以后的升级提供便利.但是,在千兆网综合布线系统施工过程中我们必须对光纤收发器进行测试,以保证整 ...

  7. php的完整代码块,简单测试了一下php中的代码块、内部类等知识

    简单测试了一下php中的代码块.内部类等知识<?php class a { public $b; public function print_result() { //普通代码块,但已经不是ja ...

  8. ddr老化测试_塑胶类材料老化测试(Aging Test )常用的测试标准

    材料或者产品的老化目前已经越来越被关注,在日常生活中我们也会经常会碰到,一些涂料在户外使用过程中出现变色.起泡.粉化之类的现象:一些家电外壳如空调的白色外壳,使用一段时间会变黄,同时性能也变差,很容易 ...

  9. ASAM:自动驾驶仿真测试标准引领者

    转自中国汽车报网https://3w.huanqiu.com/a/c7d278/3xr6Dpyh0nc?agt=64 对于智能汽车发展来说,各项测试标准至关重要,这不仅决定着相关技术的发展水平,也攸关 ...

最新文章

  1. 请求路径@PathVariable与请求参数@RequestParam的区别
  2. 判断js中的数据类型的几种方法
  3. 车载DMI linux系统,基于嵌入式的CTCS3级车载DMI系统的设计与实现
  4. Python3 学习系列 丨 博客目录索引
  5. Lombok学习笔记— 消除冗余java代码
  6. 准考证打印系统关闭怎么办_2021国家公务员考试准考证打印系统关闭了怎么办...
  7. SWMM模型及自主开发城市内涝一维二维耦合软件的复杂城市排水系统建模技术及在城市排涝、海绵城市等领域实践应用
  8. 家用带宽-路由器的选择
  9. 白+黑(白利用)漏洞加载木马技术解析
  10. python查询12306余票_「python」12306余票查询GUI
  11. 淘客该怎么做,淘客+又是什么
  12. 整理任正非思想:再论反骄破满,在思想上艰苦奋斗-1996
  13. 计算机鼠标不动了,计算机鼠标不动了怎么解决?
  14. 锁定计算机后 关机任务不执行,定时关机3000常见问题(一)
  15. python+vue+elementui花卉种植技术网站
  16. 中文括号和英文括号转换
  17. linux 实现监听热插拔事件
  18. Funcode海底世界c++(vc6)
  19. Android第一行代码-Activity
  20. “留白” 与 极简主义

热门文章

  1. python安装失败错误代码0x_详解雨林木风Win10提示“Python 0x80070643安装时发生严重错误”解决方法...
  2. 理清网站数据分析思路导图
  3. Linux内核分析考试试题,linux内核分析第二周作业
  4. 2015-FCN论文解读
  5. java 算法比较,java几种面消隐算法的比较
  6. php 判断是否ipv6,PHP IPV6正则表达式验证代码
  7. PAT (Basic Level) Practice1002 写出这个数
  8. Windows核心编程_添加开机自启动
  9. 详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标
  10. 斯坦福大学CS143编译原理课程笔记:4. Cool语言概述