用c语言如何删除非空文件夹?
好象del只能删除一个文件,文件夹下还有子目录的话,用c语言如何删除呀!!
求程序!我的是windows-nt系统的
[解决办法]
BOOL DeleteDirectory(LPCTSTR strDes)
{
//删除目标目录下的所有文件
WIN32_FIND_DATA FileData;
HANDLE hSearch;
BOOL bFinished=FALSE;
CString strTemp(strDes);
strTemp+=_T( "\\*.* ");
hSearch=FindFirstFile((LPCTSTR)strTemp,&FileData);
if (hSearch==INVALID_HANDLE_VALUE){
bFinished=TRUE; //该目录下没有文件
}
while(!bFinished){
strTemp=strDes;
strTemp=strTemp+_T( "\\ ")+FileData.cFileName;
//是目录就进入递归调用
if (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ){
DeleteDirectory(strTemp);
}
else{//是文件则删除
DeleteFile(strTemp);
}
if (!FindNextFile(hSearch,&FileData)){
bFinished=TRUE;
}
}
FindClose(hSearch);
//删除空目录
RemoveDirectory(strDes);
return TRUE;
}