找回密码
 立即注册
查看: 174|回复: 0

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

[复制链接]
发表于 2023-3-9 12:45 | 显示全部楼层 |阅读模式
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;}
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-30 23:26 , Processed in 0.087266 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表