C++-Zip Utils从内存解压缩到内存
C++ - Zip Utils unzipping from memory to memory
在搜索如何在C++中轻松(无需任何dll…)解压缩时,我找到了Zip-Utils。
我从服务器下载数据(使用gzencode()
在PHP中压缩)到本地缓冲区,现在我想使用Zip-Utils或其他东西来解压缩它。
假设我有:
char zipped[100000];
char unzipped[100000];
现在我想将数据从一个缓冲区解压缩到另一个缓冲区时,我到底该如何使用Zip-Utils来做到这一点?
编辑:我试过拉开自己的拉链,但我无法让它发挥作用。以下是我如何尝试的一个例子。
HZIP hz = OpenZip(zipped, sizeof zipped, "");
char buf[1024]; ZRESULT zr = ZR_MORE; unsigned long totsize = 0;
while (zr == ZR_MORE)
{
ZIPENTRY ze; GetZipItem(hz, 0, &ze);
zr = UnzipItem(hz, 0, unzipped, sizeof unzipped);
unsigned long bufsize = 1024; if (zr == ZR_OK) bufsize = ze.unc_size - totsize;
totsize += bufsize;
}
CloseZip(hz);
我已经成功地使用本页上提供的源代码解决了我的问题
这可能是我见过的最简单的代码,而且它完美地工作!
相关文章:
- 使用C++进行运行长度解压缩
- C++ 如何将数组值解压缩为函数参数
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 在 Qt(C++) 中使用 QProcess 解压缩 - 提取目录问题
- 浏览压缩文件与游览解压缩它们
- 如何在C++向量中解压缩多个值
- 解压缩 C 样式数组以及C++中的参数包
- 如何在 cpp 中解压缩数字,如果它们是使用 struct.pack(fmt, v1, v2, ..) 打包在 pyth
- 如何使用 Poco::ZIP 压缩/解压缩 zip 文件
- 在编译时解压缩数组扩展数据块 (C++11/14)
- 使用 RtMidi 解压缩 Midi 时间码
- 将参数包解压缩到 std::initializer_list?
- 解压缩可变模板参数
- 解压缩附加的压缩字符串
- 使用 AVX2 将 8 位从 32 位值 (__m256i) 解压缩到__m256的最快方法
- 使用 libarchive 将 gzip 文件解压缩到内存
- C -我如何gzip解压缩块文件到内存缓冲区
- C++-Zip Utils从内存解压缩到内存
- LZ4解压缩未知大小的二进制内存块
- 压缩/解压缩内存中的数据