错误1:
很有可能你的程序是编译为Unicode的,因此所有字符串要用_T()括起来:
CFileDialog dlg(TRUE, _T("Text Files"), _T("*.txt"), OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T("text Files(*.txt)|All Files(*.*)|*.*||"));
错误2:
你的m_strPath类型声明可能不对,应该是:
CString m_strPath;
CString StrFilter = _T("文本文件(*.txt)|*.txt|All Files (*.*)|*.*||"); //文件类型过滤器
CFileDialog dlg(TRUE,_T("*.TXT"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,StrFilter);
dlg.DoModal();
CFileDlg 第二个参数填默认扩展名 第三个参数填默认文件名