gpt4 book ai didi

c++ - 消息包 - 如何找到代表的字符串?

转载 作者:行者123 更新时间:2023-11-30 05:40:56 24 4
gpt4 key购买 nike

在消息包网站中:

Message Pack

上面有一个“尝试”链接,它告诉我数据的代表字符串有多长。

我有一个基于消息包 git hub 中提供的示例的小脚本

#include <msgpack.hpp>
#include <vector>
#include <string>
#include <iostream>

int main(void) {
using namespace std;

msgpack::sbuffer buffer;

msgpack::packer<msgpack::sbuffer> pk(&buffer);
pk.pack_map(2);
pk.pack(string("SerialNumber"));
pk.pack(123456789);
pk.pack(string("Date"));
pk.pack("1.4.14");



//deserialize

msgpack::unpacker pac;
pac.reserve_buffer(buffer.size());
memcpy(pac.buffer(),buffer.data(),buffer.size());
pac.buffer_consumed(buffer.size());


msgpack::unpacked result;
while(pac.next(&result))
{
cout<<result.get()<<endl<<endl;

}

效果很好,但我想检索表示在打包数据后面的字符串。就像在“尝试!”中一样关联。我怎样才能找到它?

谢谢

最佳答案

I want to retrieve the String that is represented behind the packed data

您可以做的是以十六进制格式打印简单缓冲区的内容:

const char *data = buffer.data();
for (int i = 0; i < buffer.size(); i++)
printf("%02x ", (unsigned char) data[i]);

关于c++ - 消息包 - 如何找到代表的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31317165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com