将如下语句加到while 前
if  (!find.IsDirectory  ())
 CFile::Remove(find.GetFilePath  ()); 

解决方案 »

  1.   

    CFindFile 将对查找的文件引用,所以在没有colse之前不文件不能删除!CFileFind  find; 
    CStringArray astrFileName;if  (find.FindFile  ("d:\\dd\\*.*")) 

        while  (find.FindNextFile  ()) 
        { 
            if  (find.IsDirectory  ())  continue; 
            astrFileName.append(...);
      }    for(int i = 0; i< astrFileName.size(); i++)
    {
    ...
    }
      

  2.   

    我的用法:
    str = "c:\\dd\\*.*;
    BOOL bWorking = finder.FindFile(str);
    while (bWorking)
    {
    bWorking = finder.FindNextFile();
    DeleteFile(finder.GetFilePath());
    }
      

  3.   

    对,你应该有
    HFILE hFile=FindFirstFile(youPath);while  ( bRet ) 

    bRet =  hFile.FindNextFile(); 
    hFile.Remove()

      

  4.   

    FindNextFile()返回值為0時表示當前找到的是最後一個文件, 所以這個文件也得刪掉才行, 而不是0就退出