gpt4 book ai didi

c - 如何解压 msgpack 文件?

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:48 45 4
gpt4 key购买 nike

我正在将 msgpack 编码的数据写入文件。在写作时,我只是使用 C API 的 fbuffer。如(我为示例去除了所有错误处理):

FILE *fp = fopen(filename, "ab");
msgpack_packer pk;
msgpack_packer_init(pk, fp, msgpack_fbuffer_write);
msgpack_pack_int(pk, 42);
// more data ...

我如何读回这个文件?我发现的所有示例都假设数据在内存中,但是,我的文件最大为 5GB,将其完全保存在内存中并不是一个好主意。我也不想自己大块阅读。毕竟,我不知道 msgpack 对象有多长,所以我最终可能会在缓冲区中得到半个整数。

msgpack 的解包能否以某种方式直接从磁盘读取?或者是否有一些标准模式可以做到这一点?

最佳答案

您可能会考虑为此使用“msgpack_unpacker”,这似乎是 MessagePack 实现“流”反序列化器的官方方式。看看 msgpack-c/example/c/lib_buffer_unpack.c

问候,NiteHawk

关于c - 如何解压 msgpack 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31969518/

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