无法打开文件

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   邗影  阅读(29)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2022-07-20 Linux编译openal源码
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示