VisualC++.NET程序设计教程与上机指导第十章.pdfVIP

VisualC++.NET程序设计教程与上机指导第十章.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 文件与序列化操作 第10章 文件与序列化操作 教学提示:我们用到的几乎所有的软件都需要向磁盘上保存信 息,而向磁盘保存数据一般是通过数据库操作和文件操作。本章的内 容介绍了Visual C++ 中的文件操作,包括CArchive类、CFile类及文件 操作API 的内容。 教学目标:通过本章的学习,初步掌握文件的操作方法,包括 CArchive、CFile类和文件操作API 的使用,并掌握序列化的概念。 10.1 序列化的概念 10.1 序列化的概念 10.1.1 什么是序列化 10.1.2 创建可序列化类 10.1.3 在文档中使用序列化 10.1.1 什么是序列化 10.1.1 什么是序列化 在很多应用中我们需要对数据进行保存,或是从介质上读取数据, 这就涉及到文件的操作。我们可以利用各种文件存取方法完成这些工 作,但MFC 中也提供了一种读写文件的简单方法——“序列 化”(Serialize)。 序列化,简单地说就是向一个持久性的存储媒体,如磁盘文件保存 对象或读取对象的过程。对象的序列化的主要工作就是将自己的成员变 量或者当前状态保存起来,而序列化的逆过程——反序列化,其主要工 作是将对象的变量、状态等数据读出来。 返回 10.1.2 创建可序列化类 10.1.2 创建可序列化类 序列化在最低的层次上应该被需要序列化的类支持,也就是说 如果你需要对一个类进行序列化,那么这个类必须支持序列化。当 通过序列化进行文件读写时你只需要该类的序列化函数就可以了。 返回 10.1.3 在文档中使用序列化 10.1.3 在文档中使用序列化 创建了一个可以序列化的类以后,下面我们看看如何在文档中使 用序列化功能。你只需要修改文档类的Serialize(CArchive ar)函 数,并调用各个进行序列化的类的Serial进行数据读写就可以了。当 然你也可以在文档类的内部进行数据读写,下面的代码利用序列化 功能读写数据。 返回 10.2 CArchive类 10.2 CArchive类 通过第一节的学习,相信大家已经初步了解怎样进行对象的序列 化。可以看到,序列化要用到MFC 中的一个类作为中介,它就是 CArchive类。类CArchive用来存储二进制字节流,对文件I/O提供缓 冲,它与类对象的序列化关系密切。 上一节我们了解到,序列化把内存中的一种数据结构变成字节序保存 到一个流式结构中,或从流式结构中取字节序字符在内存中创建一种 数据结构。 CArchive类对象可以看成一个二进制字节流,就像C语言中的输入输出 流(Input/Output Stream),一个CArchive对象与一个文件相连,充当了 文件与要读写文件的数据结构之间的桥梁。它在文件与要读写的数据 结构之间设置了一个缓冲区,提供数据缓冲机制。 10.2.1 构造函数 10.2.2 关闭函数 10.2.3 读写函数 10.2.4 使用CArchive类进行读写操作 10.2.1 构造函数 10.2.1 构造函数 因为CArchive是基于文件的,所以在创建一个CArchive对象之前必 须要打开一个文件,CArchive构造函数的第一个参数就是文件指针,其 原型如下: CArchive(CFile* pFile, UINT nMode, int nBufSize=4096, void* lpBuf=NULL); 返回 10.2.2 关闭函数 10.2.2 关闭函数 函数CArchive::Close()用来关闭CArchive,在关闭之前要把缓 冲区中的所有数据存入文件,关闭之后中断CArchive对象与文件的 联系。当关闭后,不能用它进行任何读写操作。必须先关闭 CArchive对象,再关闭与之相联系的文件,否则会出错;换言之, 在关闭一个文件之前必须关闭与之相连的所有CArchive对象。 返回 10.2.3 读写函数 10.2.3 读写函数 与文件不同

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档