:
有"尝试"上面的链接显示了数据的表示字符串有多长。
我有一个基于消息包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;
}
效果很好,但我想要检索打包数据后面的String。就像在&#34;尝试!&#34;链接。我该怎么找到它?
谢谢
答案 0 :(得分:1)
我想检索打包数据后面的字符串
您可以做的是以十六进制格式打印简单缓冲区的内容:
const char *data = buffer.data();
for (int i = 0; i < buffer.size(); i++)
printf("%02x ", (unsigned char) data[i]);