串行文件
概述串行文件、并行—串行
在计算机中,数据传输的方式有两种:
iptables 一种就是串行(serial)通讯,每个字符的二进制位按位排列进行传输,速度慢,但传输距离相对较远,鼠标口和USB口都是串行端口。
另一种是并行(parallel)通讯,每个字符的二进制位使用多条数据线同时进行传输,传输速度相对要快些,但传输距离相对不能太远,计算机内部数据传输一般都是采用这种方法,标准打印口是属并行端口。
串行化某对象在程序退出时可以存储,启动后可以读入,这种存储和恢复机制,使得数据可以永久保留,对象的这种读写过程称为串行化。
MFC利用CArchive类对象作为执行串行化对象和存储介质之间的中继,对象可以使用该类进行读写操作。
CArchive类该类允许以一个永久的二进制形式保存一个对象,与输入输出流处理ASCII字符不同,归档文件以高效精炼的格式处理二进制对象。对于一个CArchive对象不能同时进行读写操作。
构造一个CArchive对象时,要把它附加给一个打开文件的类CFile的对象上,还要制定归档文件将用于装载还是存储。
当CArchive对象存储一个对象时,将CRuntimeClass名字附加到该对象上,这样当另外进行读取操作时,根据记录的CRuntimeClass信息,就可以动态重建这个CArchive对象,而不用关心具体的CObject派生类的不同,只需要根据CArchive对象存储操作时的文件结构去调用相应的串行化过程。
BOOL IsLoading() const函数:如果正在装载归档文件,返回非0,否则0;
BOOL IsStorng() const函数:如果正在存储归档文件,返回非0,否则0;
使类可串行化1.从CObject类派生类
2.重载成员函数Serialize()
3.使用DECLARE_SERIAL宏
4.定义无参数的构造函数
5.在类的Cpp文件中使用IMPLEMENT_SERIAL宏