国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ProtoBuf 常用序列化/反序列化API

2019-11-10 18:12:05
字體:
來源:轉載
供稿:網友

轉自:http://blog.csdn.net/sealyao/article/details/6940245

1、C數組的序列化和反序列化API

[cpp] view plain copy//C數組的序列化和序列化API  bool ParseFromArray(const void* data, int size);  bool SerializeToArray(void* data, int size) const;  //使用  void set_people()               {      wp.set_name("sealyao");         wp.set_id(123456);              wp.set_email("sealyaog@Gmail.com");      wp.SerializeToArray(parray,256);  }    void get_people()               {      rap.ParseFromArray(parray,256);      cout << "Get People from Array:" << endl;      cout << "/t Name : " <<rap.name() << endl;      cout << "/t Id : " << rap.id() << endl;      cout << "/t email : " << rap.email() << endl;  }  

2、C++ String的序列化和反序列化API

[cpp] view plain copy//C++string序列化和序列化API  bool SerializeToString(string* output) const;  bool ParseFromString(const string& data);  //使用:  void set_people()               {      wp.set_name("sealyao");         wp.set_id(123456);              wp.set_email("sealyaog@gmail.com");      wp.SerializeToString(&pstring);  }    void get_people()               {      rsp.ParseFromString(pstring);        cout << "Get People from String:" << endl;      cout << "/t Name : " <<rsp.name() << endl;      cout << "/t Id : " << rsp.id() << endl;      cout << "/t email : " << rsp.email() << endl;  }  

3、文件描述符序列化和反序列化API

[cpp] view plain copy //文件描述符的序列化和序列化API   bool SerializeToFileDescriptor(int file_descriptor) const;   bool ParseFromFileDescriptor(int file_descriptor);     //使用:  void set_people()  {      fd = open(path,O_CREAT|O_TRUNC|O_RDWR,0644);      if(fd <= 0){          perror("open");          exit(0);       }         wp.set_name("sealyaog");      wp.set_id(123456);      wp.set_email("sealyaog@gmail.com");      wp.SerializeToFileDescriptor(fd);         close(fd);  }    void get_people()  {      fd = open(path,O_RDONLY);      if(fd <= 0){          perror("open");          exit(0);      }      rp.ParseFromFileDescriptor(fd);      std::cout << "Get People from FD:" << endl;      std::cout << "/t Name : " <<rp.name() << endl;      std::cout << "/t Id : " << rp.id() << endl;      std::cout << "/t email : " << rp.email() << endl;      close(fd);  }  

4、C++  stream 序列化和反序列化API

[cpp] view plain copy//C++ stream 序列化/反序列化API  bool SerializeToOstream(ostream* output) const;  bool ParseFromIstream(istream* input);    //使用:  void set_people()  {      fstream fs(path,ios::out|ios::trunc|ios::binary);      wp.set_name("sealyaog");      wp.set_id(123456);      wp.set_email("sealyaog@gmail.com");      wp.SerializeToOstream(&fs);          fs.close();      fs.clear();  }    void get_people()  {      fstream fs(path,ios::in|ios::binary);      rp.ParseFromIstream(&fs);      std::cout << "/t Name : " <<rp.name() << endl;      std::cout << "/t Id : " << rp.id() << endl;       std::cout << "/t email : " << rp.email() << endl;         fs.close();      fs.clear();  }  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮滨县| 宜兰市| 寻乌县| 城固县| 五家渠市| 无极县| 阳新县| 天水市| 保靖县| 田阳县| 宝兴县| 九龙城区| 攀枝花市| 高陵县| 大悟县| 故城县| 贵定县| 鄱阳县| 阿合奇县| 岢岚县| 涟源市| 通河县| 乃东县| 蓝田县| 隆德县| 来安县| 玉林市| 昭通市| 陆川县| 涟水县| 黎平县| 巴中市| 江都市| 大关县| 抚顺县| 班玛县| 松潘县| 华容县| 文山县| 监利县| 永修县|