C/C++对象的序列化
生活随笔
收集整理的這篇文章主要介紹了
C/C++对象的序列化
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
序列化?(Serialization):也稱為串行化指的是將一個(gè)內(nèi)存對(duì)象?轉(zhuǎn)換成?一串字節(jié)數(shù)據(jù),并可以恢復(fù)。
序列化:將對(duì)象轉(zhuǎn)成一串字節(jié),這一串字節(jié)可以保存至文件,也可以通過網(wǎng)絡(luò)傳輸。
下面是代碼:
IDE為vs2013
#include?<stdio.h> #include?<string> using?namespace?std;class?Student { public:int?id;string?name; };//序列化 int?Serialize(const?Student?&s,?char?output[]) {int?count?=?0;memcpy(output,?&s.id,?4);count?+=?4;memcpy(output?+?count,?s.name.c_str(),?s.name.length());count?+=?s.name.length();return?count; }//反序列化 int?Deserialize(Student?&s,?const?char?*input,?int?count) {int?offset?=?0;memcpy(&s.id,?input,?4);offset?+=?4;s.name.append(input?+?offset,?count?-?offset);return?0; }int?main() {char?buf[128];int?count?=?0;Student?s1;s1.id?=?110120119;s1.name?=?"雅瞄蝶";count?=?Serialize(s1,?buf);Student?s2;Deserialize(s2,?buf,?count);return?0; }
總結(jié)
以上是生活随笔為你收集整理的C/C++对象的序列化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机在娱乐中的应用有哪些,多媒体技术在
- 下一篇: C/C++遍历进程和进程ID的小工具