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);
}
}
这里如果使用指针的值,可以只传递指针的临时变量,但是如果修改指针指向,要传引用
标签:Fp,文件,cout,int,fptr,无法,打开,指针 From: https://www.cnblogs.com/8335IT/p/17567606.html