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

解决方案 »

  1.   

    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);
      

  2.   

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

  3.   

    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" );
    因为‘|’一般字符串中不会用到,用它来作为分隔符比用空格好。
      

  4.   

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

  5.   

    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;
    }