当前位置:编程学习 > VC++ >>

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

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;
}
补充:软件开发 , Vc ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,