小编mdb*_*841的帖子

msgpack C++实现:如何打包二进制数据?

我正在使用C++ msgpack实现.关于如何打包二进制数据,我遇到了障碍.在二进制数据方面,我有一个以下类型的缓冲区:

unsigned char* data;
Run Code Online (Sandbox Code Playgroud)

数据变量指向的数组,其实际上是一个图像.我想要做的是使用msgpack打包.似乎没有关于如何实际打包二进制数据的示例.从格式规范支持原始字节,但我不知道如何使用该功能.

我尝试使用如下字符指针的向量:

msgpack::sbuffer temp_sbuffer;
std::vector<char*> vec;
msgpack::pack(temp_sbuffer, vec);
Run Code Online (Sandbox Code Playgroud)

但这会导致编译器错误,因为T = std :: vector没有函数模板.

我还试过以下几点:

msgpack::pack(temp_sbuffer, "Hello");
Run Code Online (Sandbox Code Playgroud)

但这也会导致编译错误(即没有T = const char的函数模板[6]

因此,我希望有人能就如何使用msgpack C++打包表示为char数组的二进制数据给出建议.

c++ msgpack

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

msgpack ×1