下面這段代碼示範了查找一個目錄下所有檔案的過程,将檔案名存放在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,如需轉載請自行聯系原作者