//删除文件夹目录(非空)

bool DeleteDirectory(char* sDirName)
{
    CFileFind tempFind;
    char sTempFileFind[200] ;
   
    sprintf(sTempFileFind,"%s\*.*",sDirName);
    BOOL IsFinded = tempFind.FindFile(sTempFileFind);
    while (IsFinded)
    {
        IsFinded = tempFind.FindNextFile();
       
        if (!tempFind.IsDots())
        {
            char sFoundFileName[200];
            strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(200));
           
            if (tempFind.IsDirectory())
            {
                char sTempDir[200];
                sprintf(sTempDir,"%s\%s",sDirName,sFoundFileName);
                DeleteDirectory(sTempDir); //先删除文件夹下边的所有文件
            }
            else
            {
                char sTempFileName[200];
                sprintf(sTempFileName,"%s\%s",sDirName,sFoundFileName);
                DeleteFile(sTempFileName); //将该文件夹删除
            }
        }
    }
    tempFind.Close();
    if(!RemoveDirectory(sDirName))
    {
        return FALSE;
    }
    return TRUE;
}


//下面是应用,CString m_strDir 是一个文件夹路径,如:d:\downloadpic

BOOL DeleteAll()
{
    if(PathFileExists(m_strDir))    
        DeleteDirectory((LPSTR)(LPCTSTR)m_strDir);
    return 1;
}

posted on 2009-06-16 15:47 -274°C 阅读(749) 评论(0)  编辑  收藏 所属分类: C++

只有注册用户登录后才能发表评论。


网站导航:
 

常用链接

留言簿(21)

随笔分类(265)

随笔档案(242)

相册

JAVA网站

关注的Blog

搜索

  •  

积分与排名

  • 积分 - 911485
  • 排名 - 40

最新评论