如何删除一个文件夹下所以的目录和文件?

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/2958/2958809.xml?temp=.540188
      

  2.   

    参数DirName为要删除的目录名,必须为绝对路径名,如“c:\\temp"。
    BOOL DeleteDirectory(char *DirName)
    {
      CFileFind tempFind;
      char tempFileFind[200];
      sprintf(tempFileFind,"%s\\*.*",DirName);
      BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
      while(IsFinded)
      {
       IsFinded=(BOOL)tempFind.FindNextFile();
       if(!tempFind.IsDots())
       {
         char foundFileName[200];
         strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
         if(tempFind.IsDirectory())
         {
          char tempDir[200];
          sprintf(tempDir,"%s\\%s",DirName,foundFileName);
          DeleteDirectory(tempDir);
         }
         else
         {
          char tempFileName[200];
          sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
          DeleteFile(tempFileName);
         }
       }
      }
      tempFind.Close();
      if(!RemovwDirctory(DirName))
      {
       MessageBox(0,"删除目录失败!","警告信息",MK_OK);
       return FALSE;
      }
      return TRUE;
    }