使用 C++ 检查并将数据添加到 protobuff
Posted
技术标签:
【中文标题】使用 C++ 检查并将数据添加到 protobuff【英文标题】:Check and add data into protobuff using C++ 【发布时间】:2015-08-24 07:55:45 【问题描述】:message HealthOccurrenceCount
required int64 HealthID=1;
required int32 OccCount=2;
optional bytes wci=3;
我想根据HealthID
添加数据;如果已经输入了HealthID
,那么程序应该只增加现有条目的OccCount
,而不是添加新条目。
HealthOccurrenceCount objHelthOccCount;
if(objHelthOccCount.healthid() == healthID) // Is this right or do I need to iterate all the nodes?
occCount++;
objHelthOccCount.set_occcount(occCount);
else
occCount = 1;
这段代码是否正确,或者我应该将HealthID
转换为字符串?
生成的代码:
// required int64 HealthID = 1;
inline bool has_healthid() const;
inline void clear_healthid();
static const int kHealthIDFieldNumber = 1;
inline ::google::protobuf::int64 healthid() const;
inline void set_healthid(::google::protobuf::int64 value);
【问题讨论】:
PROTOBUFF INT64 check aganist previously entered data c++的可能重复 【参考方案1】:HealthOccurrenceCount objHelthOccCount;
if(objHelthOccCount.has_healthid())
occCount++;
objHelthOccCount.set_occcount(occCount);
else
occCount = 1;
【讨论】:
以上是关于使用 C++ 检查并将数据添加到 protobuff的主要内容,如果未能解决你的问题,请参考以下文章
Protobuf-net 使用嵌套数据反序列化时出现无效的线型异常(C++ 到 C#)
如何使用 Python protobuf 读取二进制 C++ protobuf 数据?