您的位置:首页 > 其它

CFileDialog导致程序崩溃的解决方案

2013-01-26 09:52 281 查看
写了个小程序,其中有这样的代码:

CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("All Files(*.*)|*.*||"));

if(fileDlg.DoModal() == IDOK)

{

CString strPathName = fileDlg.GetPathName();

m_EdtTaskContent.SetWindowText(strPathName);

}

然后程序运行到该处时,偶尔出现程序崩溃的现象,网上查了资料,感觉很复杂,说什么tagOFN大小的问题,CString也有问题。没有搞懂。最后我把代码改成:

CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("All Files(*.*)|*.*||"));

if(fileDlg.DoModal() == IDOK)

{

wstring strPathName = fileDlg.GetPathName();

m_EdtTaskContent.SetWindowText(strPathName.c_str());

}

程序就不崩溃了。

CString不好用,以后大家还是多用string和wstring代替吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐