首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-05 
用c语言如何删除非空文件夹?好象del只能删除一个文件,文件夹下还有子目录的话,用c语言如何删除呀!!求程序!

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

热点排行