http://blog.csdn.net/sealyao/article/details/69402451、C數組的序列化和反序列化API
成都創新互聯長期為超過千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為淅川企業提供專業的
成都網站設計、網站制作,
淅川網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。
[cpp] view plaincopy
- //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 << " Name : " <<rap.name() << endl;
- cout << " Id : " << rap.id() << endl;
- cout << " email : " << rap.email() << endl;
- }
2、C++ String的序列化和反序列化API
[cpp] view plaincopy
- //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 << " Name : " <<rsp.name() << endl;
- cout << " Id : " << rsp.id() << endl;
- cout << " email : " << rsp.email() << endl;
- }
3、文件描述符序列化和反序列化API
[cpp] view plaincopy
- //文件描述符的序列化和序列化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 << " Name : " <<rp.name() << endl;
- std::cout << " Id : " << rp.id() << endl;
- std::cout << " email : " << rp.email() << endl;
- close(fd);
- }
4、C++ stream 序列化和反序列化API
[cpp] view plaincopy
- //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 << " Name : " <<rp.name() << endl;
- std::cout << " Id : " << rp.id() << endl;
- std::cout << " email : " << rp.email() << endl;
- fs.close();
- fs.clear();
- }
網站題目:ProtoBuf常用序列化/反序列化API轉-創新互聯
URL地址:http://m.newbst.com/article48/dcddep.html
成都網站建設公司_創新互聯,為您提供域名注冊、軟件開發、網站收錄、服務器托管、網站導航、ChatGPT
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯