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

递归删除目录及索引子目录

2012-09-14 
递归删除目录及目录子目录bool RemoveDir(const char* szFileDir){ std::string strDir szFileDir if (

递归删除目录及目录子目录

bool RemoveDir(const char* szFileDir)
{
 std::string strDir = szFileDir;
 if (strDir.at(strDir.length()-1) != '\\');
  strDir += '\\';
 WIN32_FIND_DATA wfd;
 HANDLE hFind = FindFirstFile((strDir + "*.*").c_str(),&wfd);
 if (hFind == INVALID_HANDLE_VALUE)
  return false;

 do
 {
  if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
  {
   if (stricmp(wfd.cFileName,".") != 0 &&
    stricmp(wfd.cFileName,"..") != 0)
    RemoveDir( (strDir + wfd.cFileName).c_str());
  }
  else
  {
   DeleteFile( (strDir + wfd.cFileName).c_str());
  }
 }
 while (FindNextFile(hFind,&wfd));

 FindClose(hFind);
 RemoveDirectory(szFileDir);
 return true;
}

热点排行