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

 

#include <stdio.h>
#include <string.h>
#include <errno.h>  //trerror(errno)
int main(int argc, const char *argv[])
{
#if 0     //错误输出
    FILE *fp =NULL;
    fp = fopen("./test.txt", "r");
    if(fp == NULL)
    {
        //puts("fopen fail");
        perror("fopen fail"); //打印错误信息
        printf("fail fopen -----> %s\n",strerror(errno));//打印错误信息,通过错误号查看错误信息
        printf("%d\n",errno);//查看错误信息,错误号
        return -1;
    }
    fclose(fp);//关闭文件
#endif

    FILE *f = NULL;
    int i=0;
    puts("AAAAA-----AAAAA");
    fclose(stdin);     //关闭标准输入流
    fclose(stderr);    //关闭标准错误流
    //fclose(stdout);  //关闭标准输出,终端也就不会输出内容了
    while(1)
    {
        if((f = fopen("./tt.txt","r")) ==NULL)
        {
            perror("fail ");
            break;
        }
        else
            i++;
    }
    printf("max %d\n",i);
    return 0;
}

 

通过测试可以看出,最多可以打开1024个流

 

posted on 2019-05-22 21:26  管理员D  阅读(184)  评论(0编辑  收藏  举报

导航