高分 请教基础文件的读取与保存问题

ilikedvd 2008-06-26 03:43:43
我用MFC做的程序,希望能实现如下两个功能:

1 将一些指定的数据写入到自定义后缀文件(例如.abc)并保存到指定的路径之下
2 读取指定路径下存在的的.abc文件

在这里请教如何实现

关于第一个问题,我是这么做的:利用CFileDialog::GetPathName获取指定路径,再用CFile::Open将数据写入到此路径下的文件中。主要代码如下

CFileDialog dlg(FALSE,TEXT("abc"),NULL,OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT,TEXT("文件(*.abc)|*.abc|所有文件(*.*)|*.*||"),this);
if ( dlg.DoModal()!=IDOK )
return;
if(dlg.DoModal() == IDOK)
{
CFile mfile;
//获取文件的绝对路径
CString fname = dlg.GetPathName();

mfile.Open((LPCTSTR)fname,CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);

mfile.Write("数据库类型 ",12);
...//一堆写入代码
mfile.Flush();
mfile.Close();
}

这样做可以实现,但是在保存时每次都必须点击保存对话框上的“保存”按钮两次才能实现,不知道是为什么呢?

如果第一个问题能解决,我想第二个也就不难了

麻烦各位指导一下吧,我恨不得给200分~
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilikedvd 2008-06-26
  • 打赏
  • 举报
回复
原来是这样……真是低级失误……

感谢楼上给位了,散分了~
ouyh12345 2008-06-26
  • 打赏
  • 举报
回复
更一般的是这样:
if ( dlg.DoModal()==IDOK )
{
CFile mfile;
//获取文件的绝对路径
CString fname = dlg.GetPathName();
......
}
ouyh12345 2008-06-26
  • 打赏
  • 举报
回复
if ( dlg.DoModal()!=IDOK )
return;
if(dlg.DoModal() == IDOK)
{

只需要调用一次DoModal()就可以了,类似
if ( dlg.DoModal()!=IDOK )
return;
else
{
CFile mfile;
//获取文件的绝对路径
CString fname = dlg.GetPathName();
}
ToperRay 2008-06-26
  • 打赏
  • 举报
回复

CFileDialog dlg(FALSE,TEXT("abc"),NULL,OFN_HIDEREADONLY ¦ OFN_OVERWRITEPROMPT,TEXT("文件(*.abc) ¦*.abc ¦所有文件(*.*) ¦*.* ¦ ¦"),this);
if ( dlg.DoModal()!=IDOK )
return;
if(dlg.DoModal() != IDOK)
{

return;

}
CFile mfile;
//获取文件的绝对路径
CString fname = dlg.GetPathName();

mfile.Open((LPCTSTR)fname,CFile::modeCreate ¦ CFile::modeWrite ¦ CFile::typeBinary);

mfile.Write("数据库类型 ",12);
...//一堆写入代码
mfile.Flush();
mfile.Close();

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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