工控编程吧
标题:
上位机MFC如何查找文件
[打印本页]
作者:
qq263946146
时间:
2019-8-1 12:49
标题:
上位机MFC如何查找文件
在一个文件夹内查找文件,其实就是对一个文件夹内全部文件进行递归查找,将每个文件名与我们要查看文件名对比。
递归查找文件,我们可使用两个函数FindFile,FindNextFile来实现。
例如 我们添加一个列表框IDC_FILELIST,添加一个按钮来触发查找
void CDemoDlg::OnFindFile()
{
CListBox* pListBox = (CListBox*)GetDlgItem(IDC_FILELIST);
pListBox->ResetContent();
//从当前目录开始查找文件
CString strFileName = _T(".");
Find(strFileName);
}
复制代码
其中Find就是实现查找的功能函数
void CDemoDlg::Find(LPCTSTR lpszFileName)
{
CString strWildcard = lpszFileName;
strWildcard += _T("\\*.*");
CFileFind finder;
BOOL bFind = FALSE;
//查找文件
bFind = finder.FindFile(strWildcard);
while (bFind)
{
//查找下一个文件
bFind = finder.FindNextFile();
//判断找到文件的是否包含"."或".."
if (finder.IsDots())
{
continue;
}
//获得找到文件的名称
if (finder.IsDirectory())
{
//找到文件的路径
CString strFilePath = finder.GetFilePath();
//递归查找文件
Find(strFilePath);
}
//获得找到文件的名称
CString strFileName = finder.GetFileName();
CListBox* pListBox = (CListBox*)GetDlgItem(IDC_FILELIST);
pListBox->AddString(strFileName);
}
//结束查找
finder.Close();
}
复制代码
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4