为什么小弟我用CFileDialog类打开文件会出错?提示LPCTSTR有无法转换
为什么我用CFileDialog类打开文件会出错?提示LPCTSTR有无法转换。
为什么我用CFileDialog类打开文件会出错?提示LPCTSTR有无法转换。
char szFilter[] = "Data files(*.DAT)|*.dat|Save files(*.ST0)|*.st0|| ";
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
if(dlg.DoModal()==IDOK)
{
CFile file;
file.Open(dlg.GetPathName(),CFile::modeRead);
file.Close();
}
上面是一个按钮单击后的事件函数,为什么我编译后,提示
错误 1 error C2664: “CFileDialog::CFileDialog(BOOL,LPCTSTR,LPCTSTR,DWORD,LPCTSTR,CWnd *,DWORD)”: 不能将参数 5 从“char [50]”转换为“LPCTSTR” g:\work\visual studio 2005\projects\opentxt\opentxt\opentxtdlg.cpp 203
请各位朋友帮忙看一下,谢谢!
------解决方案--------------------
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,(LPCTSTR)szFilter);
强制转行不????
------解决方案--------------------
CString strFilter = _T( "Data files(*.DAT)|*.dat|Save files(*.ST0)|*.st0|| ");
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFilter );
if(dlg.DoModal()==IDOK)
{
CFile file;
file.Open(dlg.GetPathName(),CFile::modeRead);
file.Close();
}
------解决方案--------------------
不能将参数 5 从“char [50]”转换为“LPCTSTR”g:\work\visual studio 2005\projects\opentxt\opentxt\opentxtdlg.cpp203
向楼上的可以
不过哥们你看看你的字符串是不是已经超过50了
------解决方案--------------------
楼上的方法也可以。
但是楼主你是用的VC6.0吗?我试过你的代码了,没有error啊~
------解决方案--------------------
我觉得用CString好,
试试吧
为什么我用CFileDialog类打开文件会出错?提示LPCTSTR有无法转换。
char szFilter[] = "Data files(*.DAT)|*.dat|Save files(*.ST0)|*.st0|| ";
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
if(dlg.DoModal()==IDOK)
{
CFile file;
file.Open(dlg.GetPathName(),CFile::modeRead);
file.Close();
}
上面是一个按钮单击后的事件函数,为什么我编译后,提示
错误 1 error C2664: “CFileDialog::CFileDialog(BOOL,LPCTSTR,LPCTSTR,DWORD,LPCTSTR,CWnd *,DWORD)”: 不能将参数 5 从“char [50]”转换为“LPCTSTR” g:\work\visual studio 2005\projects\opentxt\opentxt\opentxtdlg.cpp 203
请各位朋友帮忙看一下,谢谢!
------解决方案--------------------
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,(LPCTSTR)szFilter);
强制转行不????
------解决方案--------------------
CString strFilter = _T( "Data files(*.DAT)|*.dat|Save files(*.ST0)|*.st0|| ");
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFilter );
if(dlg.DoModal()==IDOK)
{
CFile file;
file.Open(dlg.GetPathName(),CFile::modeRead);
file.Close();
}
------解决方案--------------------
不能将参数 5 从“char [50]”转换为“LPCTSTR”g:\work\visual studio 2005\projects\opentxt\opentxt\opentxtdlg.cpp203
向楼上的可以
不过哥们你看看你的字符串是不是已经超过50了
------解决方案--------------------
楼上的方法也可以。
但是楼主你是用的VC6.0吗?我试过你的代码了,没有error啊~
------解决方案--------------------
我觉得用CString好,
试试吧