protobuf应用-(3).proto文件和存取数据

1.proto数据结构

syntax = "proto3";

message Account {
	//账号
	uint64 ID = 1;
	//名字
	string name = 2;
	//密码
	string password = 3;
}

2.存取数据

#include <iostream>
#include <cstring>
#include "account.pb.h"


int main()
{
	Account account;
	account.set_id(1);
	account.set_name("HQ");
	account.set_password("123");

	//序列化
	std::string s = account.SerializeAsString();
	if(s.size() == 0) {
		std::cout << "error in SerializeAsString" << std::endl;
	}
	Account nAccount;

        //反序列化
	if(nAccount.ParseFromString(s)) {
		std::cout << nAccount.id() << std::endl;
		std::cout << nAccount.name() << std::endl;
		std::cout << nAccount.password() << std::endl;
	} else {
		std::cout << "error in ParseFromString" << std::endl;
	}

	return 0;
}
hq@hq:~/catkin_ws/test_protoc$ ./main 
1
HQ
123
protobuf-all-3.19.4.tar.gz 是 Google Protocol Buffers 的一个软件包,其中包含了相关的库文件和工具。 Google Protocol Buffers(简称 Protobuf)是一种由 Google 开发的数据序列化机制。它主要用于在不同系统之间进行数据传输和储时,将数据从一种格式转换为另一种格式。Protobuf 使用了一种高效的二进制格式来数据,可以在不同的编程语言中进行解析和生成。它支持多种编程语言,并且跨平台兼容性很强。 protobuf-all-3.19.4.tar.gz 里包含了 Protobuf 的所有相关文件。通过该软件包,我们可以获得 Protobuf 的库文件,这些库文件有助于我们在项目中使用 Protobuf。此外,该软件包中还提供了 Protobuf 的编译器 protoc,它可以将定义数据结构描述文件(.proto 文件)编译成对应的源代码文件,从而使得我们能够在项目中使用 Protobuf数据结构。 在使用 protobuf-all-3.19.4.tar.gz 之前,我们需要先解压缩该文件。解压后,我们可以获得一个文件夹,其中包含了相关的库文件和编译器等工具。我们可以将这些文件复制到项目的合适位置,并根据需要在项目中引入这些文件,从而能够使用 Protobuf。 总的来说,protobuf-all-3.19.4.tar.gz 是 Google Protocol Buffers 的一个软件包,通过它我们可以获取 Protobuf 的相关文件,从而在项目中使用 Protobuf 的功能,实现高效的数据传输和储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值