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套接字:在归档文件中使用套接字”
#include <afx.h>

请参阅:CFile, CObject, CSocket, CSocketFile


CArchive类的成员

数据成员

m_pDocument 指向被串行化的CDocument对象


构造函数

CArchive 创建一个CArhcive对象
Abort 在不异常的情况下,关闭归档文件
Close 冲掉未写入数据并且释放与CFile的连接


基础输入/输出

Flush 从归档文件缓冲区中冲掉未写入数据
operator >> 装载对象和归档文件的主要类型
operator << 存储对象和归档文件的主要类型
Read 读入原始类型
Write 写入原始类型
WriteString 写一行文本
ReadString 读一行文本


状态

GetFile 获得此归档文件的CFile对象指针
GetObjectSchema 由Serialize函数调用来确定被非串行化的对象的版本
SetObjectSchema 在归档文件中存储对象概要
IsLoading 确定归档文件是否被装载
IsStoring 确定归档文件是否被存储
IsBufferEmpty 确定在一个Windows Socket接收过程中缓冲区是否被清空


对象输入/输出

ReadObject 调用一个用于装载的Serialize函数
WriteObect 调用一个用于装载的Serialize函数
MapObject 在没有对文件串行化的映射中放置对象,但是此映射对参考的子对象有效
SetStoreParams 设置哈希表的大小和映射的块的大小,在串行化的过程中识别唯一的对象
LoadParams 设置装载数组扩展的大小。必须在被装载对象之前或调用MapObject或ReadObject之前
ReadClass 读入一个原先存储在WriteClass中的类的参考
WriteClass 把对CRuntime的参考写入CArchive
SerializeClass 根据CArchive方向,读入或写入对CArchive对象的类的参考
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Carchive 是一个MFC类,用于在计算机程序中对数据进行归档、存储和检索。它提供了对序列化对象和数据进行管理的功能。 Carchive 可以将对象和数据序列化到文件或内存缓冲区,并可以根据需要进行反序列化以恢复对象和数据。它支持多种存储格式,如二进制、文本和XML。使用Carchive,可以轻松地将复杂的对象层次结构保存到文件中,并在需要时进行检索和重新加载。 Carchive 提供了一组成员函数,用于操作数据的序列化和反序列化。它们包括 Serialize、Read、Write 和 GetFile。 Carchive 类似于一个桥梁,将程序中的数据和对象与存储设备连接起来。它提供了在存储设备上读取和写入数据的方法,使得程序能够从存储设备中加载数据,并将数据保存到存储设备中。 与Carchive相对应的是Csocket,它是一个用于网络编程MFC类。Csocket 提供了与网络通信相关的功能,例如创建套接字、连接到远程主机、接收和发送数据等。 使用Csocket,可以轻松地实现客户端和服务器之间的通信。它支持多种通信协议,如TCP和UDP。通过Csocket,程序可以与远程主机建立连接,并在连接上进行数据传输。 Csocket 提供了一组成员函数,用于初始化套接字、连接远程主机、发送和接收数据等操作。它还提供了一些事件和回调函数,以便程序能够处理与网络通信相关的事件。 总之,Carchive 和 CsocketMFC提供的两个有用的类。Carchive 可以帮助程序对数据进行归档和检索,而Csocket 则提供了与网络通信相关的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值