ファイルを含むディレクトリを削除するために、C ++に次のコードがあります。
void* hFind = INVALID_HANDLE_VALUE;
WIN32_FIND_DATA ffd;
hFind = FindFirstFile((fullpath+"\\" + _docname + "\\"+"*").c_str(), &ffd);
do //delete all the files in the directory
{
// check if it is a file
if (!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
string s = (fullpath+_docname+"\\").append(ffd.cFileName);
remove(s.c_str());
}
}
while (FindNextFile(hFind, &ffd) != 0);
removeDirectory(fullpath+"\\" + _docname);
FindClose(hFind);
問題は、ダバガーを閉じた後にのみディレクトリが実際に削除されることです。デバッグ中、ディレクトリにアクセスできませんが、まだ存在しているため、問題が発生します。フォルダを完全に削除するように修正する方法を知っていますか?