天天看點

周遊目錄下的所有檔案

下面這段代碼示範了查找一個目錄下所有檔案的過程,将檔案名存放在result.txt檔案中。

/////////////////////////////////////////////////////////////////////////////////// 

void CMyDlg::OnCollectAllFileName() 

{

 // TODO: Add your control notification handler code here

 CStdioFile myFile("C:\\result.txt",CFile::modeCreate|CFile::modeWrite|CFile::typeText);

 CFileFind myFinder;

 CStringList myList;

 CString FileName;

 myList.AddTail("C:\\Common");        //查找目錄

 while(!myList.IsEmpty())          

 {

  FileName=myList.GetHead()+_T("\\*.*");

   if(myFinder.FindFile(LPCTSTR(FileName)))    //查找所有檔案

   {

    while(myFinder.FindNextFile())    //繼續查找

    {

     if(myFinder.IsDots()) continue;   //不是檔案

     myFile.WriteString(LPCTSTR(myFinder.GetFilePath()+_T("\n")));

     //将結果輸出

     if(myFinder.IsDirectory())

      myList.AddTail(myFinder.GetFilePath());

    }

    myFile.WriteString(LPCTSTR(myFinder.GetFilePath()+_T("\n")));

   }

   myList.RemoveHead();

 }

 myFile.Close();

 MessageBox("search has been finished");

}

小結:經過測試的結果表明:C槽的目錄生成之後大概有25M的比特資料流,是以在搜尋的過程中會出現以

下的提示:

DAMAGE: after Nornal block(#882780)

暫時還不能解決這個問題:據有關的報道屬于指針通路問題:但是程式中顯然沒有指針的存在。

     本文轉自fengyuzaitu 51CTO部落格,原文連結:http://blog.51cto.com/fengyuzaitu/1678650,如需轉載請自行聯系原作者

繼續閱讀