读书人

用c语言怎么删除非空文件夹

发布时间: 2012-03-05 11:54:03 作者: rapoo

用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;
}

读书人网 >C++

热点推荐