+ -
当前位置:首页 → 问答吧 → MFC输出文件问题

MFC输出文件问题

时间:2011-12-12

来源:互联网

我在MFC里面建立了一个对话框,然后把输入对话框的内容存到文档中再输出到电脑中。但是编译没问题,就是没有文档出来啊。课设就近在眼前了,急啊。求高手指教。这是那段代码:

Employee *JL;
vector<Employee*> JLmanager;
JLmanager.push_back(JL);

vector<CString> JLstr;
JLstr.push_back(objM.m_strJLXM);
JLstr.push_back(objM.m_strJLXB);
JLstr.push_back(objM.m_strJLXQ);

JLmanager[0]->SetName((char*)(LPCTSTR)JLstr[0]);
JLmanager[0]->SetGender((char*)(LPCTSTR)JLstr[1]);
  JLmanager[0]->SetInteresting((char*)(LPCTSTR)JLstr[2]);
JL->SetNum(objM.m_intJLBH);
JL->SetSalary(objM.m_floatJLGZ);
JL->SetInteresting(objM.m_strJLXQ);


ofstream ofile("ewq.txt",ios::out|ios::binary);
ofile<<"经理姓名:"<<JLmanager[0]->GetName()<<"经理编号:"<<JL->GetNum()<<"经理性别:"<<JLmanager[0]->GetGender()
<<"经理工资:"<<JL->GetSalary()<<"经理兴趣:"<<JLmanager[0]->GetInteresting();
ofile.close();
}
else return;

作者: phoebus1412   发布时间: 2011-12-12

通常来说,应该检查下创建(打开)文件是否成功,另外应该使用ios::app用于添加新数据至文件。
C/C++ code

ofstream a_file("example.bin", ios::out | ios::app | ios::binary);
if ( !a_file.is_open() ) {
  // The file could not be opened
}
else {
  // Safely use the file stream
}


更合理的解决办法是在如下代码前加断点,单步跟踪调试JLmanager、JL等相关变量是否得到正确赋值:
C/C++ code

ofstream ofile("ewq.txt",ios::out|ios::binary);
ofile<<"经理姓名:"<<JLmanager[0]->GetName()<<"经理编号:"<<JL->GetNum()<<"经理性别:"<<JLmanager[0]->GetGender()
<<"经理工资:"<<JL->GetSalary()<<"经理兴趣:"<<JLmanager[0]->GetInteresting();

作者: fight_in_dl   发布时间: 2011-12-12