我需要在对话框程序中打开从编辑框输入的三个带路径的文件,打开一个文件读或写时另外两个可以关闭。但我现在
编写一个文件的读或写完全可以(程序如下),若编写两个文件的读写(即去掉下面的注释符号)就不行,编译也能通过,也不提示出错,就是不能运行下去。敬请各位指教! ON_BUTTON
{
UpdateData();
CFile file;
file.Open(m_F1,CFile::modeRead); // 在m_F1对应的编辑框中输入 D:\fle1
file.Read(&XY1,strlen("-1.03E-01")); // file.Close();
// file.Open(m_F2,CFile::modeRead);
// file.Read(&XY2,strlen("-1.03E-01")); // l在m_F2对应的编辑框中输入 D:\fle2
//file.Open(m_F3,CFile::modeCreate|CFile::modeWrite); // l在m_F3对应的编辑框中输入 D:\fle3
//XY3=XY1+XY2;
// file.Write(&XY3,10);
// file.Close();
// UpdateData(FALSE);
编写一个文件的读或写完全可以(程序如下),若编写两个文件的读写(即去掉下面的注释符号)就不行,编译也能通过,也不提示出错,就是不能运行下去。敬请各位指教! ON_BUTTON
{
UpdateData();
CFile file;
file.Open(m_F1,CFile::modeRead); // 在m_F1对应的编辑框中输入 D:\fle1
file.Read(&XY1,strlen("-1.03E-01")); // file.Close();
// file.Open(m_F2,CFile::modeRead);
// file.Read(&XY2,strlen("-1.03E-01")); // l在m_F2对应的编辑框中输入 D:\fle2
//file.Open(m_F3,CFile::modeCreate|CFile::modeWrite); // l在m_F3对应的编辑框中输入 D:\fle3
//XY3=XY1+XY2;
// file.Write(&XY3,10);
// file.Close();
// UpdateData(FALSE);
解决方案 »
- MFC中怎样才能让自己编的按钮和对话框中的按钮控件响应OnLButtonDown函数?
- 对话框里怎么限制图形显示的区域
- 关于消息机制和消息队列的实质
- 急求助:为什么菜单项和工具栏按钮在运行Enable时不能一致?
- 请教基于Doc/View程序与其他程序之间的文件共享问题,路过帮顶,来者有分
- 如何在程序中将自己的代码段写入文件?
- 从一个控件中如何得到其接口,如同delphi中对控件都有一个ControlInterface属性一样..
- 请问如何建立自定义的不规则窗口?
- ADO方式从数据库中搜索数据,当记录集为空时出错,如何判断RecordSet为空?
- 高分求:有没有谁写过ICopyHook,给个例子行吗?我写了一个老是不能钩到消息?
- 有没有人有VC编写hessian的源程序
- 内存管理的效率讨论,望大侠们指点一下!
file.Close();
//file.Open(m_F3,CFile::modeCreate|CFile::modeWrite); // l在m_F3对应的编辑框中输入 D:\fle3
CFile file;
file.Open(m_F1,CFile::modeRead); // 在m_F1对应的编辑框中输入 D:\fle1
file.Read(&XY1,strlen("-1.03E-01")); // file.Close();
// file.Open(m_F2,CFile::modeRead);
// file.Read(&XY2,strlen("-1.03E-01")); // l在m_F2对应的编辑框中输入 D:\fle2
这里落下了文件关闭了 或者你但不调试一下
file.Close();
//file.Open(m_F3,CFile::modeCreate|CFile::modeWrite); // l在m_F3对应的编辑框中输入 D:\fle3
//XY3=XY1+XY2;
// file.Write(&XY3,10);
// file.Close();
// UpdateData(FALSE);
也可以像上面那位同学说的,多创建几个CFile
{
CFile file;
file.Open(_T("F:\\11.txt"), CFile::modeRead);
DWORD dwLen = file.GetLength();
char* buf = new char[dwLen+1];
memset(buf, 0, (dwLen+1)*sizeof(char));
file.Read(buf, dwLen);
AfxMessageBox(CString(buf));
file.Close();
delete buf;
buf = NULL; file.Open(_T("F:\\12.txt"), CFile::modeRead);
dwLen = file.GetLength();
buf = new char[dwLen+1];
memset(buf, 0, (dwLen+1)*sizeof(char));
file.Read(buf, dwLen);
AfxMessageBox(CString(buf));
file.Close();
delete buf;
buf = NULL; file.Open(_T("F:\\13.txt"), CFile::modeRead);
dwLen = file.GetLength();
buf = new char[dwLen+1];
memset(buf, 0, (dwLen+1)*sizeof(char));
file.Read(buf, dwLen);
AfxMessageBox(CString(buf));
file.Close();
delete buf;
buf = NULL;
}
catch (CFileException* e)
{
e->ReportError();
e->Delete();
}