C/C++删除文件夹下所有文件

extern "C" bool DeleteDirectory(char* sDirName)
{
 CFileFind tempFind;
 char sTempFileFind[MAX_PATH];
 sprintf(sTempFileFind, "%s\\*.*", sDirName);
 BOOL IsFinded = tempFind.FindFile(sTempFileFind);
 while (IsFinded)
 {
  IsFinded = tempFind.FindNextFile();
  if (!tempFind.IsDots())
  {
   char sFoundFileName[MAX_PATH];
   strcpy(sFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));
   if (tempFind.IsDirectory())
   {
    char sTempDir[MAX_PATH];
    sprintf(sTempDir, "%s\\%s", sDirName, sFoundFileName);
    DeleteDirectory(sTempDir); // 嵌套函数
   }
   else
   {
    char sTempFileName[MAX_PATH];
    sprintf(sTempFileName, "%s\\%s", sDirName, sFoundFileName);
    DeleteFile(sTempFileName); // DeleteFile(sTempFileName)貌似也行的
   }
  }
 }
 tempFind.Close();
 if (!RemoveDirectory(sDirName))
 {
  return FALSE;
 }
 return TRUE;
}

猜你喜欢

转载自blog.csdn.net/zhubeifen_521/article/details/80759981