菜鸟的一个文件保存的问题
菜鸟的一个文件保存的问题
楼主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
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
