zip文件到缓冲区c++
zip-file to buffer c++
我必须从char[]缓冲区中的zip文件逐字节读取dat文件。zip文件只包含一个dat文件。我想一块一块地解压缩会很好。我使用的是带有c++的Visual Studio 2013。
我找到了zip utils(http://www.codeproject.com/Articles/7530/Zip-Utils-clean-elegant-simple-C-Win),这可以吗,因为它已经有近10年的历史了?Minizip是个好办法吗?我想单独使用zlib是不够的,对吧?
我的问题是,拉开拉链的最佳方法是什么?我没有处理zip文件的经验,我想听听有经验的人的建议。
谢谢你,
弗里德里希
Minizip可以工作。请注意,它仍然需要zlib源代码来链接。
zip文件不仅仅是经过zlib压缩的内容块。这是一个档案。
有一个目录头,即使归档文件只包含一个文件,也必须对每个元素的头进行解码。通常,标头会告诉您,从zip文件中的哪个偏移量可以找到DAT压缩内容。然后,您可能会使用zlib从给定的偏移量开始逐块解码。
还请注意,zip文件格式并不总是暗示zlib作为压缩器(您可以有许多不同的压缩器)。如果您掌握了创建zip文件的代码,这就不是问题。但是,如果它来自敌对用户,那么您应该实际检查使用的压缩器并断言它是zlib,否则您应该拒绝解压缩文件,因为您将无法这样做。
相关文章:
- C++字符*缓冲区的大小
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- Xaudio2在更改缓冲区或循环时弹出声音
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 多线程双缓冲区
- Android P-9.0.0_r53 Logcat主缓冲区超出定义大小
- 套接字读取后,我在缓冲区中看到意外输入
- std::带有自定义缓冲区的 iostream 不允许我写入
- 从返回的顶点缓冲区查询顶点结构
- Vulkan 中的动态顶点缓冲区格式设置
- OpenGL 16 位模板缓冲区?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 在 openGL 中多次绑定缓冲区
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 为什么缓冲区的内容在读取空 rdbuf 时被删除?