protobuf使用方法
来源:互联网 发布:高仿拉勾网 php源码 编辑:程序博客网 时间:2024/06/04 18:31
person.proto文件
- message Person{
- required string name = 1;
- required int32 age = 2;
- optional string email = 3;
- enum PhoneType{
- MOBILE = 1;
- HOME = 2;
- WORK = 3;
- }
- message Phone{
- required int32 id = 1;
- optional PhoneType type = 2 [default = HOME];
- }
- repeated string phoneNum = 4; //对应于cpp的vector
- }
写文件(write_person.cpp):
- #include <iostream>
- #include "person.pb.h"
- #include <fstream>
- #include <string>
- using namespace std;
- int main(){
- string buffer;
- Person person;
- person.set_name("chemical");
- person.set_age(29);
- person.set_email("ygliang2009@gmail.com");
- person.add_phonenum("abc");
- person.add_phonenum("def");
- fstream output("myfile",ios::out|ios::binary);
- person.SerializeToString(&buffer); //用这个方法,通常不用SerializeToOstream
- output.write(buffer.c_str(),buffer.size());
- return 0;
- }
读文件(read_person.cpp):
- #include <iostream>
- #include "person.pb.h"
- #include <fstream>
- #include <string>
- using namespace std;
- int main(){
- Person *person = new Person;
- char buffer[BUFSIZ];
- fstream input("myfile",ios::in|ios::binary);
- input.read(buffer,sizeof(Person));
- person->ParseFromString(buffer); //用这个方法,通常不用ParseFromString
- cout << person->name() << person->phonenum(0) << endl;
- return 0;
- }
0 0
- protobuf使用方法
- protobuf使用方法
- protobuf 嵌套协议使用方法
- C# protobuf的使用方法
- C# protobuf的使用方法
- Protobuf的使用方法
- C++ protobuf使用方法
- C# protobuf的使用方法
- Unity中protobuf的使用方法
- protobuf使用方法(c++为例)
- Unity中protobuf的使用方法
- Unity中protobuf的使用方法
- Unity中为什么使用protobuf以及使用方法
- protobuf介绍以及使用方法用例
- 简单介绍google protobuf rpc框架使用方法
- protobuf
- ProtoBuf
- protobuf
- memcached windows/linux 安装和启动
- Python 之 操作文件和目录
- mongodb 命令零散记录
- 使用JSONObject来生成JSON和解析JSON
- Codeforces Round #315 (Div. 2) (ABCD题解)
- protobuf使用方法
- jquery中attr()方法的使用
- IPSEC VPN
- 反射机制
- poj-3253-sdutoj-2127-哈夫曼树-优先队列
- HDU 5352 MZL's City(最小费用最大流-mcmf)
- 索引基础知识
- 如何制作NGUI的Scroll View
- new的三种用法