C ++ - Zip Utils从内存解压缩到内存

时间:2014-04-16 21:29:23

标签: c++ zip

在搜索如何轻松(没有任何dll,...)在C ++中解压缩时,我来到了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);

1 个答案:

答案 0 :(得分:0)

我已成功使用this page

上提供的来源解决了我的问题

可能是我看到的最简单的代码,它完美无瑕!