我们已经了解了流的打开和关闭 ,那么在Linux里面,一个程序能打开文件或者流的个数是有限制的,下面我们来通过程序来去进行验证:
#include <stdio.h>
int main(int argc, char const *argv[])
{
//测试系统打开流文件的最大个数
FILE *fp;
char filename[100];
int count = 0;
while(count < 2000)
{
sprintf(filename,"test_%d.txt",count);
//循环去打开我们流文件
if((fp = fopen(filename,"w")) != NULL)
{
//成功打开文件
count++;
}else
{
perror("error info:");
break;
}
}
printf("打开流总数为:%d\n", count);
return 0;
}
测试结果:
程序运行之后会自动打开3个流,标准输入-stdin,标准输出-stdout,标准错误-stderr。这样我们相加得出最后结果为1024。