c++代码fopen函数打开文件失败

循环读取一个文件夹下的所有文件,使用fopen()函数打开文件,读取里面的数据。

当文件夹中的文件较少时,没有出现问题;

当文件夹中的文件较多时,我的文件夹数>1000,发生报错:fopen打开文件失败,直接跳出。

for (int i = 0; i < fileList.size(); i++)
{

        FILE *input_file;
        if ((input_file = fopen(InFilename, "rb")) == NULL)
        {
            printf("File %s can't open!\n", InFilename);
            exit(1);
        }

        xxxxx;

}

检查了文件路径,正确;

检查文件名,正确;

检查其他程序是否也在打开或者占用该文件,没有;

最后发现问题,循环中每次使用fopen打开文件后,没有进行fclose操作,在循环中添加fclose(input_file)即可。


版权声明:本文为u013925378原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。