MFC按钮打开选择一个文件夹,然后获得文件夹中的所有txt文件名称!

就是打开目录功能!你这个只能打开一个文件... 就是打开目录功能!
你这个只能打开一个文件
展开
 我来答
Jelin818
2011-11-02 · 超过24用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:65.4万
展开全部
CFileDialog dlg(FALSE, _T("SQL"), _T(""),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||"));
if ( dlg.DoModal()!=IDOK )
return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
jht_1111111
2011-11-02 · TA获得超过156个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:191万
展开全部
这个满足你的要求 s返回文件路径
#define DLG_FILTER "ALL Files (*.*)|*.*||"
#define DLG_EXT "* "

CFileDialog dlg(TRUE, _T(DLG_EXT), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, _T(DLG_FILTER));

if (dlg.DoModal() == IDOK)
{
POSITION pos = dlg.GetStartPosition();

while (pos != 0)
{
CString s = dlg.GetNextPathName(pos);
}
}

下面代码,可以选择文件夹,会返回文件夹的路径
需要自己查找每个文件
char* GetPath(HWND hWnd,char* pBuffer)
{
BROWSEINFO bf;
LPITEMIDLIST lpitem;
memset(&bf,0,sizeof BROWSEINFO);
bf.hwndOwner=hWnd;
bf.lpszTitle= "选择路径";
bf.ulFlags=BIF_RETURNONLYFSDIRS; //属性你可自己选择
lpitem=SHBrowseForFolder(&bf);
if(lpitem==NULL) //如果没有选择路径则返回 0
return 0;
//如果选择了路径则复制路径,返回路径长度
SHGetPathFromIDList(lpitem,pBuffer);
return pBuffer;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式