4

私の目標は、特定のフォルダー内のすべてのファイルを削除することですが、フォルダー自体を削除することではありません。次の疑似コードを使用して、見つかった各ファイルを削除しながら、FindFirstFileを呼び出し、続いてFindNextFileを繰り返し呼び出すことを考えていました。

if(FindFirstFile(FindFileData))
{
    do
    {
        DeleteFile(FindFileData.FileName);
    }
    while(FindNextFile(FindFileData));

    FindClose(FindFileData);   //EDIT for people who didn't see my pseudo-code remark
}

しかし、今考えているのは、そのフォルダーで列挙を行っているときにファイルを削除することを許可されているかどうかです。言い換えれば、最初に見つかったすべてのファイル名をキャッシュしてから削除する必要がありますか?それとも、上で示したように実行しても問題ありませんか?

4

2 に答える 2