最简单的mFC程序,Release出错,Debug无错

shuizhiyun 2008-10-31 12:41:58
我建了一个最简单的MFC程序,就改了这个OnOK函数,Debug下面直接不能编译,几百个错误。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void CmfctestDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//OnOK();

wifstream infile(L"E:\\GotaBrowser\\release\\interpreter.txt", ios::in);
if (!infile)
{
AfxMessageBox(L"can not open");
}
wstring str;
getline(infile, str);
AfxMessageBox(str.c_str());

infile.close();
}

另外Release下读的是乱码,我已在属性中设置的unicode.我的环境是VS2005
...全文
131 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuweibit 2008-10-31
  • 打赏
  • 举报
回复
我已经在我的VC2005环境中试过了,没有任何问题!
zengwenfu 2008-10-31
  • 打赏
  • 举报
回复
你文件E:\\GotaBrowser\\release\\interpreter.txt里面的内容是Unicode的吗?
一开始的回忆 2008-10-31
  • 打赏
  • 举报
回复
是会有这种问题的,我有见过网上说过.不过我还是没有注意怎么设置一致.
shuizhiyun 2008-10-31
  • 打赏
  • 举报
回复
MSXML2::XMLDOMDocument pXmlDoc->Load();
但是没有pXmlDoc->UnLoad()之类的方法
shuizhiyun 2008-10-31
  • 打赏
  • 举报
回复
试过了,把这几个头文件放在文件的上方就好了。
奇怪,为什么放在函数的上面就出错呢,真没有道理
dch4890164 2008-10-31
  • 打赏
  • 举报
回复

#include <iostream>
#include <fstream>
#include <string>
//using namespace std;
void CmfctestDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//OnOK();

std::wifstream infile(L"E:\\GotaBrowser\\release\\interpreter.txt", ios::in);
if (!infile)
{
AfxMessageBox(L"can not open");
}
wstring str;
getline(infile, str);
AfxMessageBox(str.c_str());

infile.close();
}


试一下
greatws 2008-10-31
  • 打赏
  • 举报
回复
debug和release的工程配置是2套分开的设置,看看2套的字符集是否一致

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧