刪除目錄及目錄下所有檔案與子目錄 (轉)

worldblog發表於2007-12-06
刪除目錄及目錄下所有檔案與子目錄 (轉)[@more@]刪除目錄及目錄下所有與子目錄 VC++只提供了刪除一個空目錄的,而用往往希望刪除其下有很多子目錄與 檔案的目錄。為了實現這一功能,我編寫了DeleteDirectory 函式,它可以實現 這一功能。 函式原型:BOOL DeleteDirectory(char *DirName); 返回值:成功刪除時返回TRUE,否則返回FALSE 引數DirName為要刪除的目錄名,必須為絕對路徑名,如“c:temp"。 函式定義如下: BOOL DeleteDirectory(char *DirName) { CFileFind tempFind; char tempFileFind[200]; sprintf(tempFileFind,"%s*.*",DirName); BOOL Iinded=(BOOL)tempFind.FindFile(tempFileFind); while(IsFinded) { IsFinded=(BOOL)tempFind.FindNextFile(); if(!tempFind.IsDots()) { char foundFileName[200]; strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200)); if(tempFind.IsDirectory()) { char tempDir[200]; sprintf(tempDir,"%s%s",DirName,foundFileName); DeleteDirectory(tempDir); } else { char tempFileName[200]; sprintf(tempFileName,"%s%s",DirName,foundFileName); DeleteFile(tempFileName); } } } tempFind.Close(); if(!RemovwDirctory(DirName)) { MessageBox(0,"刪除目錄失敗!","警告資訊",MK_OK); return FALSE; } return TRUE; }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988964/,如需轉載,請註明出處,否則將追究法律責任。

相關文章