//刪除文件夾目錄(非空)
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 閱讀(758)
評論(0) 編輯 收藏 所屬分類:
C++