VS2010里MFC对话框模式下,为什么一打开txt文件,就提示错误

Bommery 2017-05-06 09:41:11
在添加的按钮中代码如下:
void CInputFileDlg::OnBnClickedOpenfile()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fileDlg(true);
fileDlg.m_ofn.lpstrFilter=LPCTSTR(_T("Text Files(*txt)\0*.txt\0All Files(*.*)\0*.*\0\0"));
fileDlg.m_ofn.lpstrFileTitle=LPWSTR(_T("打开文件"));


if(fileDlg.DoModal()==IDOK)
{
CFile file(fileDlg.GetFileName(),CFile::modeRead);//显示框架的
char *pBuf;
DWORD dwFileLen;
dwFileLen = (DWORD)file.GetLength();
pBuf = new char[dwFileLen + 1];
pBuf[dwFileLen] = 0;
file.Read(pBuf,dwFileLen);
file.Close();
MessageBox((LPCTSTR)pBuf);
delete pBuf;
}
}

能打开文件对话框,但是点击自己选择的.txt文件就会出现以下情况:

希望各位指导指导,谢谢
...全文
294 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2017-05-09
  • 打赏
  • 举报
回复
windows里面 文件过虑器分隔符似乎是 | 不是\0吧.
赵4老师 2017-05-08
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
Eleven 2017-05-08
  • 打赏
  • 举报
回复
Bommery 2017-05-07
  • 打赏
  • 举报
回复
谢谢,问题解决了。
schlafenhamster 2017-05-07
  • 打赏
  • 举报
回复
fileDlg.m_ofn.lpstrFilter=_T("Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"); // fileDlg.m_ofn.lpstrFileTitle=_T("打开文件"); fileDlg.m_ofn.lpstrTitle= "请选择一个.txt文件";

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧