MFC CArchive 使用实例 文件保存与读取
2015-05-08 12:25
363 查看
12:21:43 张治国v老师 2015/5/8 12:21:43 struct STestSer { friend CArchive &operator<<(CArchive &ar, STestSer const& aTestSer) { ar<<aTestSer.nData; ar<<aTestSer.fData; ar<<aTestSer.strData; return ar; } friend CArchive &operator>>(CArchive &ar, STestSer& aTestSer) { ar>>aTestSer.nData; ar>>aTestSer.fData; ar>>aTestSer.strData; return ar; } STestSer(int nData = 0, float fData = 0.0f, CString strData = _T("")) { this->nData = nData; this->fData = fData; this->strData = strData; } int nData; float fData; CString strData; }; typedef CArray<STestSer*, STestSer*>ArPtrTest; //保存 void CSerTestDlg::OnBnClickedButton1() { ArPtrTest arData; STestSer *pTest1 = new STestSer(1, 1.0f, _T("111")); STestSer *pTest2 = new STestSer(2, 2.0f, _T("222")); STestSer *pTest3 = new STestSer(3, 3.0f, _T("333")); arData.Add(pTest1); arData.Add(pTest2); arData.Add(pTest3); CFileDialog dlg(FALSE); if (dlg.DoModal() != IDOK) return; CString strFullPath = dlg.GetPathName(); CFile file; if (!file.Open(strFullPath, CFile::modeCreate | CFile::modeReadWrite)) { AfxMessageBox(_T("打开失败!")); return; } CArchive ar(&file, CArchive::store); int nSize = arData.GetSize(); ar<<nSize; for (int i = 0; i < nSize; i++) { ar<<(*arData[i]); } ar.Close(); file.Close(); // TODO: 在此添加控件通知处理程序代码 } //打开 void CSerTestDlg::OnBnClickedButton2() { CFileDialog dlg(TRUE); if (dlg.DoModal() != IDOK) return; CString strFullPath = dlg.GetPathName(); CFile file; if (!file.Open(strFullPath, CFile::modeRead)) { AfxMessageBox(_T("打开失败!")); return; } CArchive ar(&file, CArchive::load); ArPtrTest arData; int nSize = 0; ar>>nSize; STestSer*pTest = NULL; for (int i = 0; i < nSize; i++) { pTest = new STestSer; ar>>(*pTest); arData.Add(pTest); } }
相关文章推荐
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- mfc中如何读取,保存编码为utf-8的文件
- vb.net 使用Access数据库 保存和读取图片文件
- 关于文件的读取和保存(CFile和CArchive)--vc++
- 合理使用DataSet和DataGridView读取xml文件到DataGridView;保存DataGridView到xml文件
- AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息:
- MFC对文件读取和保存的操作
- 使用dom4j:读取spring配置文件,实例化bean对象并注入依赖对象
- 使用dom4j:读取spring配置文件,实例化bean对象并注入依赖对象
- VS2010中在MFC下使用OpenCV读取视频文件
- 关于文件的读取和保存(CFile和CArchive)--vc++
- 实例教程三:文件的保存与读取
- 实例教程三:文件的保存与读取
- 使用MFC读取图片文件和视频文件
- “保存文件”对话框使用实例
- 通过小练习掌握MFC知识点之起步篇--ComboBox的使用,DLL方式读取文件信息到CListCtrl控件中
- 实例教程三:文件的保存与读取
- c# 读取 mfc CArchive序列化的二进制文件
- SQLBulkCopy使用实例--读取Excel写入数据库/将 Excel 文件转成 DataTable
- Android使用SharedPreferences保存读取文件,BroadcastReceiver广播模拟IP拨号