rustum 发表于 2023-3-9 12:45

2022-09-07 C++中protobuf的简单使用

1.安装编译protobuf库。window下建议使用vcpkg
2.编写pb文件,生成对应的.pb.cc和.pb.h。
3.使用之。
void UseProtobuf(){    ///protobuf的简单使用    //------------------将pb二进制信息保存到字符串    using namespace test;    Person p;    p.set_name("test");    p.set_id(10);    p.set_email("2650514653");    std::string str;    p.SerializeToString(&str);    std::cout<<"str="<<str<<std::endl;    //------------------将pb文本信息写入文件    std::fstream fw;    fw.open("../../../..//Person.txt", std::ios::out | std::ios::binary);    //为io创建一个缓冲    google::protobuf::io::OstreamOutputStream *output = new google::protobuf::io::OstreamOutputStream(&fw);    //将p写入缓冲    google::protobuf::TextFormat::Print(p, output);    delete output;    fw.close();    //---------------------将pb文本信息保存到字符串    std::string str1;    google::protobuf::TextFormat::PrintToString(p, &str1);    std::cout<<"str1: ["<<str1<<"]"<<std::endl;    //---------------------反序列化    Person p1;    p1.ParseFromString(str);    std::cout<<"name:"<<p1.name()<<",email:"<<p1.email()<<",id:"<<p1.id()<<std::endl;}
页: [1]
查看完整版本: 2022-09-07 C++中protobuf的简单使用