mfc 获取目录下所有文件
时间: 2023-08-02 15:01:53 浏览: 264
使用MFC获取目录下所有文件的方法如下:
1. 首先,需要包含MFC头文件:
```cpp
#include <afx.h>
#include <afxwin.h>
```
2. 创建一个函数来获取目录下所有文件的路径和名称:
```cpp
void GetAllFilesInDirectory(const CString& strFolderPath, CArray<CString>& arrFilePaths)
{
CFileFind finder;
CString strWildcard = strFolderPath + _T("\\*.*");
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
if (finder.IsDirectory())
{
CString strSubFolderPath = finder.GetFilePath();
GetAllFilesInDirectory(strSubFolderPath, arrFilePaths);
}
else
{
CString strFilePath = finder.GetFilePath();
arrFilePaths.Add(strFilePath);
}
}
finder.Close();
}
```
3. 创建一个主函数,在其中调用获取文件路径的函数,并打印结果:
```cpp
int main()
{
CString strFolderPath = _T("目标文件夹路径");
CArray<CString> arrFilePaths;
GetAllFilesInDirectory(strFolderPath, arrFilePaths);
for (int i = 0; i < arrFilePaths.GetCount(); i++)
{
CString strFilePath = arrFilePaths.GetAt(i);
wprintf(_T("文件路径:%s\n"), strFilePath);
}
return 0;
}
```
以上代码通过递归调用`GetAllFilesInDirectory`函数,在给定的目录下查找所有文件的路径,并将结果保存到数组`arrFilePaths`中。在主函数中,我们可以遍历该数组并打印文件路径。请将代码中的"目标文件夹路径"替换为你需要查找文件的目录路径。
阅读全文