利用序列化进行文件读写

起床上班去

起床上班去

2016-02-19 12:20

图老师小编精心整理的利用序列化进行文件读写希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

在很多应用中我们需要对数据进行保存,或是从介质上读取数据,这就涉及到文件的操作。我们可以利用各种文件存取方法完成这些工作,但MFC中也提供了一种读写文件的简单方法——“序列化”。序列化机制通过更高层次的接口功能向开发者提供了更利于使用和透明于字节流的文件操纵方法,举一个例来讲你可以将一个字串写入文件而不需要理会具体长度,读出时也是一样。你甚至可以对字符串数组进行操作。在MFC提供的可自动分配内存的类的支持下你可以更轻松的读/写数据。你也可以根据需要编写你自己的具有序列化功能的类。

序列化在最低的层次上应该被需要序列化的类支持,也就是说如果你需要对一个类进行序列化,那么这个类必须支持序列化。当通过序列化进行文件读写时你只需要该类的序列化函数就可以了。

怎样使类具有序列化功能呢?你需要以下的工作:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

该类从CObject派生。

在类声明中包括DECLARE_SERIAL宏定义。

提供一个缺省的构造函数。

在类中实现Serialze函数

使用IMPLEMENT_SERIAL指明类名和版本号

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

下面的代码建立了一个简单身份证记录的类,同时也能够支持序列化。

in H

struct strPID

{

         char szName[10];

         char szID[16];

         struct strPID* pNext;

};

class CAllPID : public CObject

{

public:

         DECLARE_SERIAL(CAllPID)

         CAllPID();

         ~CAllPID();

        

public:// 序列化相关     

         struct strPID* pHead;

         //其他的成员函数

         void Serialize(CArchive& ar);

};

 

in CPP

展开更多 50%)
分享

猜你喜欢

利用序列化进行文件读写

编程语言 网络编程
利用序列化进行文件读写

java 序列化对象 serializable 读写数据的实例

编程语言 网络编程
java 序列化对象 serializable 读写数据的实例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

序列化FastReport

编程语言 网络编程
序列化FastReport

J2SE中的序列化之接受默认序列化

编程语言 网络编程
J2SE中的序列化之接受默认序列化

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

深入理解Java对象的序列化与反序列化的应用

编程语言 网络编程
深入理解Java对象的序列化与反序列化的应用

DataRow的序列化问题

电脑网络
DataRow的序列化问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

理解Windows消息机制

理解Windows消息机制

使用资源编辑器编辑对话框

使用资源编辑器编辑对话框
下拉加载更多内容 ↓