2回目に呼び出された_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();
}
フォルダー内の最初の 2 つのファイルの名前を取得して出力すると、プログラムはクラッシュしますtmp
。出力される最初のファイル名はfindfirst()
関数からのものです。次のファイル名はfindnext()
. デバッグで確認しました。
findnext()
がループで 2 回目に呼び出されると、プログラムがクラッシュします。私は gcc を使用しており、戻り値でもほとんどのことを試しましたが、成功しませんでした。何か案は ?