请教各位高人指点 文件弹出保存时出错
我点击保存文件时出现下面的错误,且对话框也没有弹出
Read_pan.exe 中的 0x77f4418e 处未处理的异常: 0xC0000005: 写入位置 0x00429d28 时发生访问冲突
代码如下:
void CRead_panDlg::OnBnClickedSavedata1()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fileDlg(FALSE);
fileDlg.m_ofn.lpstrFileTitle = "文件保存";
fileDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
fileDlg.m_ofn.lpstrDefExt = "txt";
//fileDlg.m_ofn.lpstrInitialDir="c:\\";
if(IDOK == fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);
//CFile file(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite);
file.Write(m_strDateShow1, m_strDateShow1.GetLength());
file.Close();
}
}
[解决办法]
TCHAR szFilter[] = _T("Text Files(*.txt)|*.txt|All Files(*.*)|*.*||"); CFileDialog fileDlg(FALSE, _T("txt"), NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilter); if(IDOK == fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite); file.Write(m_strDateShow1, m_strDateShow1.GetLength()); file.Close(); }