+ -
当前位置:首页 → 问答吧 → 求MFC高手相助!关于输出到文件的问题~

求MFC高手相助!关于输出到文件的问题~

时间:2011-12-07

来源:互联网

我们老师让我们做个课程设计,但他什么也不指导,完全就是一片空白啊~好了,不废话了,进入主题。
就是我在做信息输入功能时,想把输入的信息再输出到文件中,创建一个名为“manager.txt”的文档。编译是通过了,但是在运行的时候,输入完信息再点确定。就说OX10211901a指令引用的Oxccccccccc内存。该内存不能为written.网上大都是说指针越界或数组溢出神马的~因为刚接触这种东西~完全不懂。求高手指教。这是这一段的代码:

CManagerDLG objM; 

if(objM.DoModal()==IDOK){ Employee JL;
vector<Employee*> JLmanager;
JLmanager.push_back(&JL);

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

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


ofstream ofile("ewq.txt",ios::out);
ofile<<"经理姓名:"<<JL.GetName()<<"经理编号:"<<JL.GetNum()<<"经理性别:"<<JL.GetGender()<<"经理工资:"<<JL.GetSalary();
ofile.close();}
}

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

这是什么呢。,。求解。。

作者: lumingming   发布时间: 2011-12-07

JLmanager.push_back(&JL);
JL是局部变量,出了代码块就销毁了,用指针

作者: ouyh12345   发布时间: 2011-12-07

我用了指针,效果一样的也~求教!

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

Employee JL
应该new出来。

也可以这样使用容器:
vector<Employee> JLmanager;

这就要求你的Employee实现好深拷贝构造函数(如果没有需要深拷贝的东西,就不用实现,由编译器自动生成)

作者: yang79tao   发布时间: 2011-12-07

还是不行啊,我真想撞墙了~

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

单步调试
在哪行崩溃的?变量的值是什么?

作者: ouyh12345   发布时间: 2011-12-07