循环读取一个文件夹下的所有文件,使用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版权协议,转载请附上原文出处链接和本声明。