MFC遍历文件夹

本文介绍了如何使用MFC的CFileFind类遍历文件夹,包括查找所有文件、特定格式文件,以及通过开启窗口选择指定格式文件。详细讲解了深度优先递归遍历整个文件夹的方法,特别提到了在遍历过程中处理汉字编码问题,以及限制只遍历两层目录的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遍历文件夹下所有文件


MFC 的 CFileFind类 有个 FindFile 和 FindNextFile 函数,它既不会搜索兄弟目录, 不会搜索子目录的,但是提供了一个判断函数 CFileFind::IsDirectory(), 判断该文件夹下某个文件路径是不是目录,如果是目录的话,还得递归遍历。

CFileFind 查找文件夹下的文件时是需要全路径的。

void CXXXDlg::SearchFiles(CString strMusicFolder)
{
    CFileFind ff;

    strMusicFolder += _T("\\");

    strMusicFolder += _T("*.*");

    BOOL res = ff.FindFile(strMusicFolder);

    while (res)
    {
        res = ff.FindNextFile();
        if (!ff.IsDirectory() && !ff.IsDots())
        {
            afxMessageBox(ff.GetFilePath());
        }
    }
ff.Close();
}

遍历文件夹下指定格式文件


已知文件夹路径“D:\temp” ,要读取里面多个”.DAT”类型文件,并保存路径到strPath[ ] 数组中。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值