mfc如何打开一个文件夹下的所有的文件
我写了一个程序,可以打开某个文件,现在要求打开某个文件夹下面的所有文件,怎么做啊?我的程序贴出来voidCCodeStatisticDlg::OnBnClickedBad...
我写了一个程序,可以打开某个文件,现在要求打开某个文件夹下面的所有文件,怎么做啊?
我的程序贴出来
void CCodeStatisticDlg::OnBnClickedBadd() //单击打开按钮
{
CFileDialog dlg(TRUE,_T("txt"),NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT
|OFN_ALLOWMULTISELECT,_T("(*.cpp;*.c;*h)|*.cpp;*.c;*h|"));
if ( dlg.DoModal()!=IDOK )
{
return;
}
m_cFileList.AddString( dlg.GetPathName( ) ); //列表添加文件路径
}
请高人帮我,我是VC的新手,我用的是VS2005,MFC 展开
我的程序贴出来
void CCodeStatisticDlg::OnBnClickedBadd() //单击打开按钮
{
CFileDialog dlg(TRUE,_T("txt"),NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT
|OFN_ALLOWMULTISELECT,_T("(*.cpp;*.c;*h)|*.cpp;*.c;*h|"));
if ( dlg.DoModal()!=IDOK )
{
return;
}
m_cFileList.AddString( dlg.GetPathName( ) ); //列表添加文件路径
}
请高人帮我,我是VC的新手,我用的是VS2005,MFC 展开
4个回答
推荐于2016-10-24 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464982
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
MFC下,还是用CFileFind类比较方便。
CFileFind ff;
CString strUDDir += "d:\\data\\*.*";
BOOL res = ff.FindFile(strUDDir);
while(res)
{
res = ff.FindNextFile();
//不遍历子目录
if(!ff.IsDirectory() && !ff.IsDots())
{
CString strFile = ff.GetFileName();
…// 在这里写需要的代码
}
}
ff.Close(); // 不要忘记关闭
CFileFind ff;
CString strUDDir += "d:\\data\\*.*";
BOOL res = ff.FindFile(strUDDir);
while(res)
{
res = ff.FindNextFile();
//不遍历子目录
if(!ff.IsDirectory() && !ff.IsDots())
{
CString strFile = ff.GetFileName();
…// 在这里写需要的代码
}
}
ff.Close(); // 不要忘记关闭
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if ( dlg.DoModal()!=IDOK )
{
CFileFind find;
if(find.FindFile(path)) //path是要找到路径
while(find.FindNextFile())
{
//这里可以循环的到文件,文件路径是find.GetFilePath(); ,直到得到所有文件 你可以放在列表里,然后再一个一个出来
}
}
return;
}
{
CFileFind find;
if(find.FindFile(path)) //path是要找到路径
while(find.FindNextFile())
{
//这里可以循环的到文件,文件路径是find.GetFilePath(); ,直到得到所有文件 你可以放在列表里,然后再一个一个出来
}
}
return;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BROWSEINFO info;
ITEMIDLIST* _list;
CHAR PATH[255]={0};
ZeroMemory(&info,sizeof(BROWSEINFO));
info.hwndOwner=GetSafeHwnd();
info.iImage=NULL;
info.lpszTitle="请选择你的文件夹";
info.pidlRoot=NULL;
info.lpfn=NULL;
info.ulFlags=BIF_EDITBOX|BIF_RETURNONLYFSDIRS ;
_list=SHBrowseForFolder(&info);
if (_list)
{
SHGetPathFromIDList(_list,PATH);
}
CFileFind find;
CString file;
strcat(PATH,"\\*.*");
BOOL isfind=find.FindFile(PATH);
while (isfind)
{
isfind=find.FindNextFile();
if (find.IsDots())
{
continue;
}
file=find.GetFilePath();
m_list.AddString((LPCTSTR)file);
}
ITEMIDLIST* _list;
CHAR PATH[255]={0};
ZeroMemory(&info,sizeof(BROWSEINFO));
info.hwndOwner=GetSafeHwnd();
info.iImage=NULL;
info.lpszTitle="请选择你的文件夹";
info.pidlRoot=NULL;
info.lpfn=NULL;
info.ulFlags=BIF_EDITBOX|BIF_RETURNONLYFSDIRS ;
_list=SHBrowseForFolder(&info);
if (_list)
{
SHGetPathFromIDList(_list,PATH);
}
CFileFind find;
CString file;
strcat(PATH,"\\*.*");
BOOL isfind=find.FindFile(PATH);
while (isfind)
{
isfind=find.FindNextFile();
if (find.IsDots())
{
continue;
}
file=find.GetFilePath();
m_list.AddString((LPCTSTR)file);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询