C++中protobuf解包
时间: 2024-01-20 15:16:24 浏览: 158
以下是C++中使用protobuf进行解包的示例代码:
```cpp
#include <iostream>
#include "Account.pb.h"
int main() {
// 创建一个Account对象
Account account;
// 从文件或网络中读取二进制数据
// 假设数据已经读取到了buffer中
// 解析二进制数据
if (!account.ParseFromArray(buffer, size)) {
std::cerr << "Failed to parse account." << std::endl;
return -1;
}
// 访问解析后的数据
std::cout << "Account ID: " << account.id() << std::endl;
std::cout << "Account Name: " << account.name() << std::endl;
std::cout << "Account Balance: " << account.balance() << std::endl;
return 0;
}
```
在上述代码中,我们首先包含了生成的Account.pb.h头文件,该头文件包含了Account类的定义。然后,我们创建了一个Account对象,并从文件或网络中读取了二进制数据到一个缓冲区中。接下来,我们使用ParseFromArray函数将缓冲区中的二进制数据解析为Account对象。最后,我们可以通过访问Account对象的成员函数来获取解析后的数据。
阅读全文