- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串行化存储CArchive对象
CArchive 目录名词解释 CArchive 详解名词解释 CArchive 详解名词解释什么是 CArchive 对象 CArchive 对象提供了一个类型安全缓冲机制,用于将可序列化对象写入 CFile 对象或从中读取可序列化对象。通常,CFile 对象表示磁盘文件;但是,它也可以是表示“剪贴板”的内存文件(CSharedFile 对象)。 CArchive的局限性 给定的 CArchive 对象要么存储数据(即写入数据或将数据序列化),要么加载数据(即读取数据或将数据反序列化),但决不能同时进行。CArchive 对象的寿命只限于将对象写入文件或从文件读取对象的一次传递。因此,需要两个连续创建的 CArchive 对象将数据序列化到文件,然后从文件反序列化数据。 CRuntimeClass 当存档将对象存储到文件时,存档将 CRuntimeClass 名称附加到这些对象。然后,当另一个存档将对象从文件加载到内存时,将基于这些对象的 CRuntimeClass 动态地重新构造 CObject 派生的对象。通过存储存档将给定对象写入文件时,该对象可能被引用多次。然而,加载存档将仅对该对象重新构造一次。有关存档如何将 CRuntimeClass 信息附加到对象以及重新构造对象(考虑可能的多次引用)的详细信息。 将数据序列化到存档时,存档积累数据,直到其缓冲区被填满为止。然后,存档将其缓冲区写入 CArchive 对象指向的 CFile 对象。同样,当您从存档中读取数据时,存档会将数据从文件读取到它的缓冲区,然后从缓冲区读取到反序列化的对象。这种缓冲减少了物理读取硬盘的次数,从而提高了应用程序的性能。 CArchive使用缓冲区作为临时数据存储地,读写都先依次排列到此缓冲区,当缓冲区满或用户要求时,将此段整理后的数据读写到指定的存储介质。 好比火车货场装运零散的货物被收集,当总量到达火车运量的时候,由火车装运走。 CArchive 详解 CArchive没有基类 CArchive允许以一个永久二进制(通常为磁盘存储)的形式保存一个对象的复杂网络,它可以在对象被删除时,还能永久保存。可以从永久存储中装载对象,在内存中重新构造它们。使得数据永久保留的过程就叫作“串行化”。 可以把一个归档对象看作一种二进制流。象输入/输出流一样,归档与文件有关并允许写缓冲区以及从硬盘读出或读入数据。输入/输出流处理一系列ASCII字符,但是归档文件以一种有效率、精练的格式处理二进制对象。 必须在创建一个CArchive对象之前,创建一个CFile对象。另外,必须确信归档文件的装入/存储与文件的打开模式是兼容的。每一个文件只限于一个活动归档文件。 当构造一个CArchive对象时,要把它附加给表示一个打开文件的类CFile(或派生类)的对象上。还要指定归档文件将用于装载还是存储。CArchive对象不仅可以处理首要类型,而且还能处理为串行化而设计的CObject_派生类的对象。一个串行化类通常有一个Serialize成员函数并且使用DECLARE_SERIAL和IMPLEMENT_SERIAL宏。这些在CObject类中有所描述。 重载提取()和插入()是方便的归档编程接口。它支持主要类型和CObject派生类。 CArchive还支持使用MFC Windows套接字类CSocket和CSocketFile编程。IsBufferEmpty成员函数也支持这种使用。如果要了解有关CArchive的更多信息,请参阅联机文档“Visual C++ 程序员指南”中的“串行化(永久对象)” 和“Windows套接字:在归档文件中使用套接字” includeafx.h 请参阅 CFile,CObject,CSocket,CSocketFile CArchive类的成员 数据成员 m_pDocument 指向被串行化的CDocument对象 构造函数 Carchive 创建一个Carhcive对象 Abort在不异常的情况下,关闭归档文件 Close冲掉未写入数据并且释放与CFile的连接 基础输入/输出 Flush从归档文件缓冲区中冲掉未写入数据 运算符装载对象和归档文件的主要类型 运算符存储对象和归档文件的主要类型 Read读入原始类型 Write写入原始类型 WriteString写一行文本 ReadString读一行文本 状态 GetFile获得此归档文件的 CFile对象指针 GetObjectSchema由Serialize函数调用来确定被非串行化的对象的版本SetObjectSchema在归档文件中存储对象概要 IsLoading确定归档文件是否被装载 IsStoring确定归档文件是否被
您可能关注的文档
- 中高层住宅太阳能热水系统优化设计思路浅析.doc
- 中高层经理管理技能与领导力研修.doc
- 《管理学基础》形考参考答案修改.doc
- 《组织行为学》期末复习资料.doc
- 《组织行为学》期末考试复习攻略终极版.doc
- 中高级口译证书高频翻译考点.doc
- 中高层经理管理技能提升培训.doc
- 中高层经理全面管理技能.doc
- 《组织行为学》练习题库参考答案.doc
- 中高级职称文件刘超.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
最近下载
- 2025年4月20日四川省事业单位考试《公共基础知识》试题及答案解析参考.pdf
- 中层竞聘面试题目答案.doc VIP
- 电力系统优化与调度软件:PLEXOS二次开发_(4).电力系统优化理论.docx VIP
- 传染病、消毒知识测试题及答案.docx VIP
- 2025年解放军联勤保障部队第960医院医护人员招聘备考试题及答案解析.docx VIP
- 2021年版国家免疫规划疫苗儿童免疫程序相关知识考核试题含答案.docx VIP
- 电力系统优化与调度软件:Xpress二次开发_(3).电力系统优化问题的数学建模.docx VIP
- 中建钢筋精算管理操作手册.pdf VIP
- 电商仓库主管月工作总结.pptx
- 预防接种工作规范(2023版)试题.docx VIP
文档评论(0)