tempad
Readygo技术搜索引擎 >>软件测试 >> 菜鸟的一个文件保存的问题

菜鸟的一个文件保存的问题

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 9:39:58

菜鸟的一个文件保存的问题

楼主mickeyyyf()2002-10-08 17:02:50 在 VC/MFC / 基础类 提问

我想在对话框里设一个“保存”按钮,当点击时,可以将对话框中控件的内容以文件的形式保存起来,并给它取名*.sdu,以供以后调用。请问该如何实现???高人来拿分啊!一定兑现!!!比如:(***为控件内容)  
      姓名       学号       成绩  
      ***         ***         ***  
      ***         ***         *** 问题点数:100、回复次数:11Top

1 楼qing_li73(Vincent Lee)回复于 2002-10-08 17:09:03 得分 5

如果数据多,可以考虑用数据库实现。  
  不多的话,也可以用自己定义的文件实现。Top

2 楼qing_li73(Vincent Lee)回复于 2002-10-08 17:11:51 得分 5

控件内容存到变量里,然后把变量的值存到文件里。Top

3 楼mickeyyyf()回复于 2002-10-08 17:24:29 得分 0

详细些好吗?变量怎样存到文件里啊?Top

4 楼gxbole(乐于此)回复于 2002-10-08 17:30:36 得分 10

Cstring   in_put  
  把控件的内容写进in_put  
  Cfile   file;  
  Cfile*   pfile=file.open(......);  
  pfile.write(in_put);  
  再写进in_put  
  pfile.write(in_put);  
  pfile.close();  
  ///这样就写进去了  
  读的话就用read(out_put);  
   
  Top

5 楼mickeyyyf()回复于 2002-10-08 18:27:12 得分 0

没人回答吗?Top

6 楼yellowdawnhlm(bourne)回复于 2002-10-08 18:48:27 得分 0

用CFile中的函数就可以拉Top

7 楼athere_08(于斯)回复于 2002-10-08 20:01:01 得分 10

gxbole(乐于此)   说的对,也就是定义一个文件对象,然后打开进行文件读写Cfile*   pfile=file.open(......);省略号是文件名,和打开方式,当然可以用mfc的cdocment来实现   。可以在网上找个例子先!  
  Top

8 楼sans(长风半日)回复于 2002-10-08 20:15:36 得分 20

FILE   *fp   =   fopen(   "example.sdu",   "wt"   );  
  fprintf(   fp,   "姓名       学号       成绩\n"   );  
  fprintf(   fp,   "***         ***         ***\n"   );  
  fprintf(   fp,   "***         ***         ***\n"   );  
  ...  
  fclose(   fp   );  
   
  为了方便以后读出,也可以只有写:  
  fprintf(   fp,   "姓名|学号|成绩\n"   );  
  fprintf(   fp,   "***|***|***\n"   );  
  fprintf(   fp,   "***|***|***\n"   );  
  因为‘|’一般字符串中不会用到,用它来作为分隔符比用空格好。Top

9 楼ylb_and_xy(黑狐狸)回复于 2002-10-08 20:24:14 得分 0

自己看看文件操作,要实现你的这个功能,不难。Top

10 楼linchunlong(生凡)回复于 2002-10-08 20:42:09 得分 10

如果只是普通的想要保存内容,建议用Sans提供的方法。  
  如果以后经常要用到它,可以有数据库保存。Top

11 楼riverboat(诸葛不亮)回复于 2002-10-08 21:04:17 得分 40

m_sNumber、m_iNumber、m_fNumber分别是利用ClassWizard与控件绑定的CString、int、double型数据成员,加入按钮存储与载入:  
  按钮Load和Save分别编写代码如下:  
  void   CMfcDlg::OnBtnLoad()    
  {  
      CFile   theFile;  
      char*   pszFileName   =   "c:\\test.sdu";  
      theFile.Open(pszFileName,   CFile::modeRead);  
      CArchive   ar(&theFile,   CArchive::load);  
      ar   >>   m_sNumber;  
      ar   >>   m_iNumber;  
      ar   >>   m_fNumber;  
      UpdateData(FALSE);   //   更新控件显示内容  
  }  
   
  void   CMfcDlg::OnBtnSave()    
  {  
      UpdateData(TRUE);     //   更新变量与控件内容一致  
      CFile   theFile;  
      char*   pszFileName   =   "c:\\test.sdu";  
   
      theFile.Open(pszFileName,   CFile::modeCreate   |   CFile::modeWrite   );  
      CArchive   ar(&theFile,   CArchive::store);  
      ar   <<   m_sNumber;  
      ar   <<   m_iNumber;  
      ar   <<   m_fNumber;  
  }  
  Top

责任编辑: efish 参与评论 查找更多:
相关文章
如何取得DataGrid中自建DropDownList的值? 如何取得DataGrid中自建DropDownList的值?
如何实现 数字 -> CString类型,char -> CStri… 如何实现 数字 -> CString类型,char -> CString ,有这样两个函数吗?急!!!
EXCEL 寻求帮助 EXCEL 寻求帮助
winme不太稳定,请大家出出主意 winme不太稳定,请大家出出主意
居然没有人讨论EAP的 居然没有人讨论EAP的
请问如何写Inf文件 请问如何写Inf文件
请问窗口的显示问题! 请问窗口的显示问题!
我现在用一个字串表示一个地址;怎样用VB把它表示出… 我现在用一个字串表示一个地址;怎样用VB把它表示出来.
如何判断电脑系统中安装Ado的版本? 如何判断电脑系统中安装Ado的版本?
菜鸟一问,请高手指点 菜鸟一问,请高手指点
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎