刪除目錄及目錄下所有文件與子目錄
發表于:2007-07-14來源:作者:點擊數:
標簽:
VC++只提供了刪除一個空目錄的函數,而在實際應用中往往希望刪除其下有很多子目錄與文件的目錄。為了實現這一功能,我編寫了DeleteDirectory 函數,它可以實現這一功能。 函數原型:BOOL DeleteDirectory(char *DirName); 返回值:成功刪除時返回TRUE,否
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 IsFinded=(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;
}
原文轉自:http://www.kjueaiud.com