MFC的CArchive类
来源:互联网 发布:sql union limit 编辑:程序博客网 时间:2024/06/12 01:36
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套接字:在归档文件中使用套接字”
上面是MSDN中的一段介绍。
下面举个例子理解下:
建立个单文档的MFC工程,这样方便点。
下面是我自己的一个数据类
在MFC框架的Doc类中找到Serialize(CArchive& ar)函数
运行程序
当点击菜单的保存按钮后 就会将上面的信息保存进所选则的文件中
当点击菜单的打开按钮后 在里面大断点就可以看到数据已经加载进来了
- MFC的CArchive类
- MFC类的范例: CArchive
- MFC学习笔记:CArchive类的使用
- MFC类库之CArchive
- [MFC]串行化CArchive类
- MFC串行化类CArchive
- MFC中有三种文件操作的类 CFile ,CArchive,CDocument
- CArchive类的使用
- 引用 MFC类库复习3--CArchive
- 使用MFC的CFile文件类和CArchive串行化类进行二进制文件读写操作
- 【项目】MFC下TCP/IP的套接字编程中CSocket,CSocketfile与CArchive类
- MFC CArchive实现机制
- MFC-CArchive原理
- 使用MFC::CArchive
- 使用MFC::CArchive
- 使用MFC::CArchive
- c# 读取 mfc CArchive序列化的二进制文件
- CArchive类
- 使用Smarty过滤不安全函数
- XFire与Axis 2比较
- TPL脚本语言
- POJ 3204 Ikki's Story I - Road Reconstruction
- STL容器使用中的拷贝成本
- MFC的CArchive类
- ddfda
- 朋友,你好!
- zendstudio文件编码修改问题
- 减少oracle sql回表次数 提高SQL查询性能
- PHP FFMPEG 生成视频缩略图
- 小议 java:comp/env
- Windows XP PXE Server 安装 Redhat AS 5.3_by Ivan-blog
- Struts2一个Action内包含多个请求处理方法的处理