zoukankan      html  css  js  c++  java
  • 标准I/O函数库的三类缓冲

    标准I/O函数库执行以下三类缓冲:

    1完全缓冲意味着只在出现下列情况时才发生I/O缓冲缓冲区满,进程显示调用fflush或者进程调用exit终止标准I/O缓冲区的通常大小为8192字节。

    2行缓冲意味着只是在出现下列情况时才发生I/O碰到一个换行符,进程调用fflush或者进程调用exit终止

    3不缓冲意味着每次调用标准I/O输出函数都发生I/O

    标准I/O库函数的大多数unix实现使用如下:

    1标准错误输出总是不缓冲

    2标准输入和标准输出完全缓冲,除非它们指代终端设备,这种情况下它们进行行缓冲

    3,所有其他I/O都是完全缓冲,除非它们指代终端设备,这种情况下他们进行行缓冲

    示例1

    #include <stdio.h>

    int main ()

    {

    char str[20];

    while(fgets(str,20,stdin)!=NULL)

    {

    fputs(str,stdout);

    }

    return 0;

    }

    从标准输入流读入字符,然后从输出流输出。因为是在控制台输入输出,所以输入一行就会有输出。

    示例2

    #include <stdio.h>

    int main ()

    {

    char str[20];

    FILE *fp=fopen("output.txt","r");

    while(fgets(str,20,stdin)!=NULL)

    {

    fputs(str,fp);

    }

    return 0;

    }

    则可以看到,输入几行字符后,文件中仍然没有内容。

    示例3

    #include <stdio.h>

    int main ()

    {

    char str[20];

    FILE *fp=fopen("output.txt","r");

    while(fgets(str,20,stdin)!=NULL)

    {

    fputs(str,fp);

    fflush(fp);

    }

    return 0;

    }

    则可以看到,输入一行,则会文件中多出一行。

    原文:

    http://blog.csdn.net/mazheng1989/article/details/7600180

    unpv1

  • 相关阅读:
    IP通信02
    h5网页 微信分享给好友,朋友圈-tp5
    微博常用链接
    Sublime Text3之安裝Emmet及使用技巧
    JS 写入到文件
    PHP之httpRequest
    图片上传预览
    滚动数字时钟
    旋转
    创建JavaScript标准对象--面试经常遇到的问题
  • 原文地址:https://www.cnblogs.com/mydomain/p/3002902.html
Copyright © 2011-2022 走看看