gpt4 book ai didi

c++ - 删除目录的功能仅在调试完成后将其删除 C++

转载 作者:行者123 更新时间:2023-11-30 02:04:19 26 4
gpt4 key购买 nike

我在 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);

问题是 - 只有在我关闭 dubugger 后,该目录才真正被删除。调试的时候,目录进不去,但还是存在的,很困扰。您知道如何修复它以完全删除文件夹吗?

最佳答案

交换最后两行可能会解决这个问题:在删除目录之前关闭句柄

FindClose( hFind );
removeDirectory( fullpath + "\\" + _docname );

关于c++ - 删除目录的功能仅在调试完成后将其删除 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10832251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com