zoukankan      html  css  js  c++  java
  • 判断标准I/O的缓冲区类型

    #include <stdio.h>
    void pr_stdio(const char *, FILE *);
    int main()
    {
    	FILE *fp;
    	fputs("enter any character
    ",stdout);
    	if(getchar()==EOF)
    		printf("getchar error");
    	fputs("one line to standard error
    ",stderr);
    	pr_stdio("stdin",stdin);
    	pr_stdio("stdout",stdout);
    	pr_stdio("stderr",stderr);
    	
    	if((fp=fopen("/etc/motd","r"))==NULL)
    		printf("fopen error");
    	if(fgetc(fp)==EOF)
    		printf("getc error");
    	pr_stdio("/etc/motd",fp);
    	return 0;
    }
    void pr_stdio(const char *name, FILE *fp)
    {
    	printf("stream=%s, ",name);
    	if(fp->_flags & _IO_UNBUFFERED)
    		printf("unbuffered");
    	else if(fp->_flags & _IO_LINE_BUF)
    		printf("line buffered");
    	else
    		printf("fully buffered or modified");
    	printf(",buffer size = %d
    ",fp->_IO_buf_end-fp->_IO_buf_base);
    }
    

      在Ubuntu下运行如下:

  • 相关阅读:
    MySQL >>> 存储引擎
    MySQL >>> 基本操作语句
    MySQL >>> 使用安装
    协程 *单线程实现并发
    进程池 & 线程池
    线程 *知识点扩充
    进程 & 线程
    DRF单表序列化
    DRF
    接口规范
  • 原文地址:https://www.cnblogs.com/lakeone/p/3702687.html
Copyright © 2011-2022 走看看