调试断言失败!!!使用DoModal时出错 我是C++和MFC编程的新手(使用VS2005)。我正试着用它。这是我的密码: void CsampleDlg::StopRfWrite() { if (pFile != NULL) fclose(pFile); pFile = NULL; char dir[512]; GetCurrentDirectoryA(512, dir); CString connected=CString(dir) + _T("\\"); CString conn = connected + fn; TCHAR szFilters[]= _T("RF data file (*.bin)|*.bin||"); CFileDialog fileDlg(FALSE, _T("bin"), fn, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters); // Display the file dialog. When user clicks OK, fileDlg.DoModal() // returns IDOK. if(fileDlg.DoModal() == IDOK) { CString pathName = fileDlg.GetPathName(); CString fileName = fileDlg.GetFileTitle(); SetWindowText(fileName); MoveFile(conn,pathName); } else { DeleteFile(conn); } }

调试断言失败!!!使用DoModal时出错 我是C++和MFC编程的新手(使用VS2005)。我正试着用它。这是我的密码: void CsampleDlg::StopRfWrite() { if (pFile != NULL) fclose(pFile); pFile = NULL; char dir[512]; GetCurrentDirectoryA(512, dir); CString connected=CString(dir) + _T("\\"); CString conn = connected + fn; TCHAR szFilters[]= _T("RF data file (*.bin)|*.bin||"); CFileDialog fileDlg(FALSE, _T("bin"), fn, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters); // Display the file dialog. When user clicks OK, fileDlg.DoModal() // returns IDOK. if(fileDlg.DoModal() == IDOK) { CString pathName = fileDlg.GetPathName(); CString fileName = fileDlg.GetFileTitle(); SetWindowText(fileName); MoveFile(conn,pathName); } else { DeleteFile(conn); } },c++,mfc,C++,Mfc,接收 调试断言失败错误;(wincore.cpp中的第384行)它由fileDlg.DoModal()调用调用。它是随机的,有时程序运行良好 调用堆栈指示以下行: ASSERT(pWnd!=NULL) 可能不相关,但我希望您将this作为第6个参数传递给CFileDialog构造函数,从而为其提供父窗口。什么是fn,它包含什么?您的字符集是什么?(右键单击解决方案资源管理器中的项目,然后选择属性并查看“高级”下的“字符集”选项)。此外,你应该考虑升级到VS2019,VS2005现在有点老了。很遗

接收 调试断言失败错误;(wincore.cpp中的第384行)它由fileDlg.DoModal()调用调用。它是随机的,有时程序运行良好

调用堆栈指示以下行:

ASSERT(pWnd!=NULL)


可能不相关,但我希望您将
this
作为第6个参数传递给CFileDialog构造函数,从而为其提供父窗口。什么是
fn
,它包含什么?您的字符集是什么?(右键单击解决方案资源管理器中的项目,然后选择属性并查看“高级”下的“字符集”选项)。此外,你应该考虑升级到VS2019,VS2005现在有点老了。很遗憾,你没有提供一个答案来解释到底是什么错误。你可以回答你自己的问题。@acr:不是父母,而是主人。不幸的是,MFC的术语经常出错。分别解释它们是什么。