標籤:檔案搜尋
下面這段代碼示範了尋找一個目錄下所有檔案的過程,將檔案名稱存放在result.txt檔案中。
///////////////////////////////////////////////////////////////////////////////////
void CMyDlg::OnButton3()
{
// 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)
暫時還不能解決這個問題:據有關的報道屬於指標訪問問題:但是程式中顯然沒有指標的存在。
如何快速尋找硬碟上的檔案(不建議搜尋C盤)