第二次调用时该_findnext()
函数不起作用。这是代码。
int main() {
struct _finddata_t ffblk;
intptr_t done;
chdir("tmp");
printf("Directory changed to dir successfully\n");
done=_findfirst("*.txt",&ffblk);
printf("Call to findfirst successful\n");
printf("%s\n",ffblk.name);
do{
done=_findnext(done,&ffblk);
printf("%s\n",ffblk.name);
} while(!done);
printf("Exited the main loop\n");
getch();
}
程序一旦获取并打印文件夹中前两个文件的名称就会崩溃tmp
。打印的第一个文件名来自findfirst()
函数。下一个文件名由 打印findnext()
。我已经通过调试检查过。
现在当findnext()
在循环中第二次调用时,程序崩溃了。我正在使用 gcc 并尝试了大多数返回值的东西,但没有成功。有任何想法吗 ?