1、新建一个基于对话框的应用程序,工程名为CheckFileDemo。
![MFC应用实例:[57]遍历目录下的每个文件](https://exp-picture.cdn.bcebos.com/3852f6e5eceeadbc110fabc3cd18dfdae53b7bb4.jpg)
3、双击“>>”按钮添加响应函数OnFolder(),在响应函数OnFolder()中添加一下代码:void CCheckFileDemoDlg::OnFolder(){ CString strFilter; strFilter="All Files(*.*)|*.*||"; CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER|OFN_HIDEREADONLY| OFN_ENABLESIZING|OFN_FILEMUSTEXIST,strFilter); if(dlg.DoModal() == IDOK ) //显示打开文件对话框 { m_folder=dlg.GetPathName(); UpdateData(false); } }
![MFC应用实例:[57]遍历目录下的每个文件](https://exp-picture.cdn.bcebos.com/4e168d5653bbf820dedb7ab8ba21056105a36eb4.jpg)
5、双击“遍历文件”按钮添加响应函数OnSearch(),在响应函数OnSearch()中添加一下代码:void CCheckFileDemoDlg::OnSearch() //遍历当前目录下的文件{ CString oldDir;//保存原始的当前路径 UpdateData(true);//获取输入数据 GetCurrentDirectory(50,(LPTSTR)(LPCTSTR)oldDir);//获取当前路径 if(!SetCurrentDirectory((LPCTSTR)m_folder)||m_folder.IsEmpty())//如果有输入 { m_folder=(LPCTSTR)oldDir; UpdateData(false); } while(m_fileList.GetCount()!=0)//清空列表框 { int index=m_fileList.GetTopIndex(); m_fileList.DeleteString(index); } FindFile(CString(m_folder));//开始查找 m_filenum=m_fileList.GetCount();//获取文件数目 UpdateData(false);//编辑框显示 SetCurrentDirectory((LPCTSTR)oldDir);//恢复当前目录}
![MFC应用实例:[57]遍历目录下的每个文件](https://exp-picture.cdn.bcebos.com/332d496699cf0253e443cf366b36e29146e85fb4.jpg)