MFC获取指定文件夹文件目录

MFC获取指定文件夹文件目录,第1张

在MFC中,使用CFileFind类,可以枚举一个目录下的所有文件子目录

示例:

void ListFolder(const CString & sPath)

{

    CFileFind ff   

    BOOL bFound = ff.FindFile(sPath + "\\*.*")

    while(bFound)

    {

        bFound = ff.FindNextFile()

        if(ff.IsDirectory())  //是目录

        {

            if(!ff.IsDots()) //不是本级目录或父目录(.和..)

                ListFolder(ff.GetFilePath()) //递归子目录

        }

        else

        {

            AfxMessageBox("文件:" + ff.GetFilePath())

        }

    }

    ff.Close()

}

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()

}

CFileFind find

CString Path = lpszPath

CString lpsz = Path +L"\\"

Path = Path +L"\\*.*"

BOOL IsFind = find.FindFile(Path)

while(IsFind )

{

IsFind=find.FindNextFile()

//如果是"."则不扫描

if(find.IsDots())

continue

//是目录,继续扫描此目录

else if(find.IsDirectory())

{

CString strPath = lpszPath

strPath = strPath + L"\\" + find.GetFileName()

ScanDiskFile(strPath)

}

//文件

else

{

//获得文件的路径

m_strFile = find.GetFileName()

CString extend = m_strFile.Right(m_strFile.GetLength() - m_strFile.ReverseFind('.') - 1)//取得扩展名

if (extend == m_ext_one | extend == m_ext_two)//m_ext_now为你要查找的文件扩展名

{

m_strArray.Add(lpsz + m_strFile)

}

}

}

find.Close()

m_ext_one、m_ext_two用于指定需要搜索的文件后缀名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8039551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存