无法打开文件

err: 255(too many open files)

fopen也一直返回false;

经过排查:本身有增加打开文件的操作;使用临时指针变量,修改了指针的指向,导致频繁的创建文件句柄


#include <iostream>


void createFile(FILE* Fp,int i )
{
if (!Fp)
{
Fp = fopen("./1.txt", "wb+");
if (Fp)
{
std::cout << "Hello World---ok " << i << std::endl;
}


}
//do .........



}


int main()
{
FILE* fptr = NULL;
for (int i = 0; i <1000 ; i++)
{
createFile(fptr,i);
std::cout << "fptr--> " << (fptr? 1:0 )<< std::endl;
}

if (fptr)
{
fclose(fptr);
}
}

 

这里如果使用指针的值,可以只传递指针的临时变量,但是如果修改指针指向,要传引用

 

 

posted on 2023-07-20 10:11  邗影  阅读(17)  评论(0编辑  收藏  举报

导航