当前位置:首页 » 文件管理 » mfc打开文件夹或文件

mfc打开文件夹或文件

发布时间: 2023-01-10 17:43:27

⑴ 如何使用VC++的MFC打开一个文件夹

//选择文件夹
CString GetDirectory()
{
BROWSEINFO bi;
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
bi.pszDisplayName = name;
bi.lpszTitle = "选择文件夹目录";
bi.ulFlags = BIF_RETURNFSANCESTORS;
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if(idl == NULL)
return "";
CString strDirectoryPath;
SHGetPathFromIDList(idl, strDirectoryPath.GetBuffer(MAX_PATH));
strDirectoryPath.ReleaseBuffer();
if(strDirectoryPath.IsEmpty())
return "";
if(strDirectoryPath.Right(1)!="\\")
strDirectoryPath+="\\";

return strDirectoryPath;
}

⑵ 怎么在MFC中打开一个文件,如单击一个按钮,然后弹出选择文件的框框,我需要打开这个文件!

//文件属性定义
CString filename;
CString fileext;//文件扩展名
CString filepathname;
//选择文件
CFileDialog fpdlg(TRUE, NULL, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"(文件类型)(*.dat)|*.dat|(文件类型)(*.sth)|*.sth|所有文件(*.*)|*.*||",NULL);
if(fpdlg.DoModal() == IDOK)
{
filename = fpdlg.GetFileName();
fileext = fpdlg.GetFileExt();//文件扩展名
filepathname = fpdlg.GetPathName();
//UpdateData(FALSE);
}
//打开文件
CFile fp;
if(filepathname ==_T(""))
{
//AfxMessageBox("请选择文件!");
return ;
}
if(!(fp.Open((LPCTSTR)filepathname,CFile::modeRead)))
{
AfxMessageBox("文件打开失败!");
return ;
}
//读取文件
fp.SeekToEnd();
unsigned long len = fp.GetLength();
char* buff;
buff=new char[len+1];
fp.SeekToBegin();
if(fp.Read(buff,len)<1)
{
fp.Close();
}
fp.Close();

⑶ MFC打开文件夹

void CXXXDlg::OpenFolder(){ BROWSEINFO bi; ZeroMemory(&bi,sizeof(BROWSEINFO)); //添加提示语句 bi.lpszTitle= _T("请选择文件夹"); //添加"新建文件夹项"和"编辑框" bi.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX; // 显示一个对话框让让用户选择文件夹 LPITEMIDLIST pidl = SHBrowseForFolder(&bi); char szFolder[_MAX_PATH]; memset(szFolder, 0, sizeof(szFolder)); CString strFolder = _T(""); if (pidl != NULL) { SHGetPathFromIDList(pidl, szFolder); //保存文件夹路径存 strFolder.Format(_T("%s"), szFolder); afxMessageBox(strFolder); } else { return; }}

⑷ mfc 如何打开文件

读取EXCEL文档里的数据,因为EXCEL是有格式的,所以和读取TXT等数据文件完全不同。

如果TXT,那么使用CFile类Open打开文件就可以读取数据了,相对比较简单。

读取EXCEL文档里的数据,需要用ADO数据源或者OLE的Office组件,在Open菜单响应函数中设置数据源并进行数据库操作,如果初学,可能会比较困难,需要熟悉的东西很多。

建议:EXCEL文件可以另存为csv格式,这个是纯文本的,可以直接CFile按照文本文档读取,如果不是项目需求,这个实现比较适合初学者。

⑸ mfc 如何打开文件

读取EXCEL文档里的数据,因为EXCEL是有格式的,所以和读取TXT等数据文件完全不同。

如果TXT,那么使用CFile类Open打开文件就可以读取数据了,相对比较简单。

读取EXCEL文档里的数据,需要用ADO数据源或者OLE的Office组件,在Open菜单响应函数中设置数据源并进行数据库操作,如果初学,可能会比较困难,需要熟悉的东西很多。

建议:EXCEL文件可以另存为csv格式,这个是纯文本的,可以直接CFile按照文本文档读取,如果不是项目需求,这个实现比较适合初学者。

⑹ mfc怎么实现打开文件夹

voidCXXXDlg::OpenFolder()
{
BROWSEINFObi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
//添加提示语句
bi.lpszTitle=_T("请选择文件夹");
//添加"新建文件夹项"和"编辑框"
bi.ulFlags=BIF_NEWDIALOGSTYLE|BIF_EDITBOX;
//显示一个对话框让让用户选择文件夹
LPITEMIDLISTpidl=SHBrowseForFolder(&bi);
charszFolder[_MAX_PATH];
memset(szFolder,0,sizeof(szFolder));
CStringstrFolder=_T("");
if(pidl!=NULL)
{
SHGetPathFromIDList(pidl,szFolder);
//保存文件夹路径存
strFolder.Format(_T("%s"),szFolder);
afxMessageBox(strFolder);
}
else
{
return;
}
}

⑺ mfc如何打开一个文件夹下的所有的文件

可不可以给我发个,能够打开已知文件名.pdf的文件程序 也是按键触发

⑻ MFC中想实现打开文件或文件夹,该怎么实现呢

把"通过选择得到一个文件/文件夹的路径" 这些代码实现 写到某个函数里,不是写到按钮实现的函数里就行了。例如:

【以下代码中 filePathFile就是你想要的路径】
在主体函数中:
CFileDialog *lpszOpenFile; //定义一个CfileDialog对象
//生成一个对话框
lpszOpenFile = new CFileDialog
(TRUE,"abc.txt","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件类型(*.txt)|*.txt|所有文件(*.*)|*.*|");

if(lpszOpenFile->DoModal() == IDOK )//假如点击对话框确定按钮
{
filePathName = lpszOpenFile->GetPathName();//得到打开文件的路径

}

if(!file.Open(filePathName,CFile::modeRead))
{
MessageBox("can not open file!");
return;
}

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

这个满足你的要求
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;
}

⑽ mfc打开文件夹

CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
fileDlg.DoModal()

热点内容
移动卡服务器密码是什么 发布:2025-08-30 04:21:02 浏览:246
linux卷管理 发布:2025-08-30 03:58:05 浏览:210
如何查到自己的wifi密码 发布:2025-08-30 03:49:05 浏览:661
linux默认编码 发布:2025-08-30 03:44:23 浏览:287
如何取消安卓手机日志抓取文件 发布:2025-08-30 03:20:12 浏览:536
安卓渠道服什么样子 发布:2025-08-30 03:19:21 浏览:919
爱奇艺安卓和苹果哪个好 发布:2025-08-30 02:57:16 浏览:455
国内安卓机哪个牌子拍照美颜最好 发布:2025-08-30 02:52:13 浏览:346
数据存储时间 发布:2025-08-30 02:51:36 浏览:606
php生成不重复的数字 发布:2025-08-30 02:46:25 浏览:378