CFileFind 写一个获取指定目录下文件 MFC
时间: 2024-09-21 17:05:35 浏览: 48
在MFC (Microsoft Foundation Classes) 中,`CFileFind` 类是一个用于遍历目录及其子目录中文件的工具。它可以帮助你在C++程序中查找特定类型的文件。以下是一个简单的示例,演示如何使用 `CFileFind` 获取指定目录下的所有文件:
```cpp
#include "afxwin.h"
#include "CFileFind.h"
// 定义一个遍历文件的函数
void FindFilesInDirectory(CString path, CString filter = _T("*"))
{
CFileFind finder;
if (!finder.FindFirst(path + "\\*" + filter, CFindFile::fileFindName))
{
// 找不到文件时处理错误
AfxMessageBox("找不到指定目录");
return;
}
do
{
// 检查当前文件是否符合条件
if (finder.IsDots() || !finder.IsDirectory())
{
CString filePath = finder.GetFilePath();
// 进行你需要的操作,如输出路径、打开文件等
MessageBox(filePath, "找到的文件", MB_OK);
}
} while (finder.FindNext());
finder.FindClose(); // 关闭文件查找器
}
// 调用函数并传入你要搜索的目录和过滤条件(默认通配符匹配所有)
int main()
{
CString directoryPath = "C:\\Your_Directory"; // 替换为你的目标目录
FindFilesInDirectory(directoryPath);
return 0;
}
```
在这个例子中,`FindFirst()` 函数开始查找,`FindNext()` 遍历目录直到找不到更多的文件。你可以通过修改 `filter` 参数来筛选出特定类型的文件。
阅读全文