- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章数据和文档
第6章数据和文档 6.1CString类 6.1CString类 6.1CString类 6.1CString类 6.1CString类 6.1CString类 6.1CString类 6.1CString类 6.2使用简单数组集合类 6.2使用简单数组集合类 6.2使用简单数组集合类 6.2使用简单数组集合类 6.3使用CFile类 6.3使用CFile类 6.3使用CFile类 6.3使用CFile类 6.3使用CFile类 6.3使用CFile类 6.3使用CFile类 6.3使用CFile类 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.4文档序列化 6.5综合应用 6.5综合应用 6.5综合应用 6.5综合应用 6.5综合应用 6.5综合应用 6.5综合应用 6.5综合应用 6.5综合应用 6.4.3 CArchive类和序列化操作 从上述的单文档序列化过程可以看出:打开和保存文档时,系统都会自动调用Serialize函数。事实上,MFC AppWizard在创建文档应用程序框架时已在文档类中重载了Serialize函数,通过在该函数中添加代码可达到实现数据序列化的目的。例如,在Ex_SDI单文档应用程序的文档类中有这样的默认代码: void CEx_SDIDoc::Serialize(CArchive ar) { if (ar.IsStoring()) // 当文档数据需要存盘时 { // TODO: add storing code here } else // 当文档数据需要读取时 { // TODO: add loading code here } } 代码中,Serialize函数的参数ar是一个CArchive类引用变量。通过判断ar.IsStoring的结果是“真”还是“假”就可决定向文档写或读数据。 摸蛔卫宽审侦抬赦断缴昏成轩丫塞炳秀诫毒冤脾索某遮甥沦蝶舒择雾抹愤第6章数据和文档第6章数据和文档 CArchive(归档)类提供对文件数据进行缓存,它同时还保存一个内部标记,用来标识文档是存入(写盘)还是载入(读盘)。每次只能有一个活动的存档与ar相连。通过CArchive类可以简化文件操作,它提供“”和“”运算符,用于向文件写入简单的数据类型以及从文件中读取它们,表6.6列出了CArchive所支持的的常用数据类型。 表6.3 ar中可以使用和运算符的数据类型 类 型 BYTE LONG float int char 描 述 8位无符号整型 32位带符号整型 单精度浮点 带符号整型 字符型 类 型 WORD DWORD double short unsigned 描 述 16位无符号整型 32位无符号整型 双精度浮点 带符号短整型 无符号整型 样座婉硼嵌液嘲遮状宿氖荫壁泳弄俏癣痴氟雨邻蚌称舒寨屑坑镀钞肢值晃第6章数据和文档第6章数据和文档 除了“”和“”运算符外,CArchive类还提供成员函数ReadString和WriteString用来从一个文件对象中读写一行文本,它们的原型如下: Bool ReadString(CString rString ); LPTSTR ReadString( LPTSTR lpsz, UINT nMax ); void WriteString( LPCTSTR lpsz ); 其中,lpsz用来指定读或写的文本内容,nMax用来指定可以读出的最大字符个数。需要说明的是,当向一个文件写一行字符串时,字符 ‘\0’和‘\n’都不会写到文件中,在使用时要特别注意。 下面举一个简单的示例来说明Serialize函数和CArchive类的文档序列化操作方法。 [例Ex_SDIArchive] 一个简单的文档序列化示例 (1)创建一个默认的单文档应用程序Ex_SDIArchive。 (2)打开String Table资源,将文档模板字串资源IDR_MAINFRAME内容修改为: 文档序列化操作\n
您可能关注的文档
最近下载
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.8.pdf VIP
- 图形图像处理(PhotoshopCC+IllustratorCC)全套PPT课件.pptx
- 以真实情境推动小学生语言发展教学研究课题报告.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx VIP
- 在线网课学习课堂《地学景观——探秘﹒审美﹒文化(重大 )》单元测试考核答案.docx VIP
- 2025 年企业党委班子巡视整改专题民主生活会对照检查材料.docx VIP
- cg动画创业计划书.pptx
- 《高电压绝缘技术》第8章 高压套管和高压互感器绝缘.ppt VIP
- 大数据在衡水物流企业的应用研究论文.doc VIP
- 2026中国邮政校园招聘笔试备考题库及答案解析.docx VIP
文档评论(0)