ProgJ 2016-02-27 02:57 采纳率: 50%
浏览 2415
已采纳

MFC RemoveDirectory()后CreateDirectory()失败的问题

MFC RemoveDirectory()后CreateDirectory()失败的问题
不知道怎么回事。。
当我删除文件夹后再创建同名文件夹时竟然失败了。。
删除的函数是正常的,先递归删除文件夹内所有文件,然后把此空文件夹删掉

调试时感觉貌似RemoveDirectory()有一定延时。。因为我执行完删除函数打开路径查看删除情况时,发现被删除的文件夹还在。。接着重新创建就失败了。。

但是如果我执行创建文件夹,然后再删除,打开路径查看时文件夹已经移除了。。

这是怎么回事啊。。

    DeleteFolder(m_fileName + "\\" + ptheTree->GetItemText(m_item));
    RemoveDirectory(m_fileName + "\\" + ptheTree->GetItemText(m_item));
 void TreeView::DeleteFolder(CString directory_path)
{
    CFileFind finder;
    CString path;
    path.Format("%s/*.*", directory_path);
    BOOL bWorking = finder.FindFile(path);
    while (bWorking){
        bWorking = finder.FindNextFile();
        if (finder.IsDirectory() && !finder.IsDots()){            //处理文件夹  
            DeleteFolder(finder.GetFilePath());          //递归删除文件夹  
            RemoveDirectory(finder.GetFilePath());
        }
        else{                                                     //处理文件  
            DeleteFile(finder.GetFilePath());
        }
    }
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2016-02-27 05:32
    关注

    RemoveDirectory,如果你的目录下面有文件或者子目录,必须先删除它们,否则会导致失败。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab