CFileDialog fdlg(FALSE, ".txt", "save", OFN_OVERWRITEPROMPT,"TXT(*.txt)|*.txt||",NULL); 这一句语句报错
时间: 2023-09-10 19:04:40 浏览: 134
这个错误可能是因为参数不匹配导致的。CFileDialog的构造函数有多个重载版本,你需要根据自己的需求选择适合的函数。以下是CFileDialog构造函数的几个常用重载版本:
1. CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL);
2. CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL, DWORD dwSize = 0, BOOL bVistaStyle = TRUE);
3. CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL, DWORD dwSize = 0, BOOL bVistaStyle = TRUE, BOOL bForceShowHidden = FALSE);
根据你提供的代码,你使用的是第一个版本,参数个数和类型应该是正确的。但是,你传入的参数字符串中,第四个参数OFN_OVERWRITEPROMPT前面缺少了一个竖线,这可能会导致参数解析错误。你可以尝试修改成如下形式:
CFileDialog fdlg(FALSE, ".txt", "save", OFN_OVERWRITEPROMPT,"TXT(*.txt)|*.txt||",NULL);
如果还是无法解决问题,请提供更详细的错误信息和代码片段。
阅读全文