在linux中从内存中压缩文件
Zipping a file from memory in linux
我正在开发必须加密和压缩文件的应用程序。因此,我在内存中创建一些数据(文本、二进制或其他),对其进行加密并保存到磁盘(文件1和文件2)。我称之为"zip out.zip file1 file2"。
我不想将这些文件保存到磁盘上,而是立即创建zip并从内存中打包这些文件。
我该怎么做?
非常感谢!
您可以尝试使用zlib库来从内存缓冲区创建zip文件。
提升:iostreams也可能是一个很好的解决方案。
对于zlib,在contribs中有一个名为minizip的zip扩展。对于minizip,您可以在作者页面上找到使用内存缓冲区的代码:
Justin Fletcher为ioapi代码(ioapi_mem_c.zip)编写了一个非常简单的内存访问方法实现
请注意,必须先压缩,然后加密。加密数据无法再压缩。
有趣的是,我找不到一个库来从C.zlib创建ZIP文件。zlib只允许(去)压缩ZIP档案中的单个条目。
它附带contrib/minizip
;也许这能让你开始。
相关文章:
- 浏览压缩文件与游览解压缩它们
- 如何在视觉工作室中使用C++解压缩压缩文件 (.zip)
- 霍夫曼解码压缩文件
- 如何以非阻塞方式压缩文件
- 从本地代码访问apk中的压缩文件(从zip中读取zip)
- 如何将多个协议缓冲区的消息写入可附加的压缩文件中?
- 使用结构 c++ 读取压缩文件 Gzread
- 使用Qt qUnCompress功能解压缩文件
- 如何将二进制数据写入压缩文件
- 使用boost iostreams将数组读写到压缩文件中
- 压缩和解压缩文件 C++
- 在C++中,如何在使用gzstream编写压缩文件时检查错误
- 对解压缩文件(popen)的权限被拒绝
- 无法打开压缩文件
- Qt-包括DLL和压缩文件
- 如何检查 zip 文件或压缩文件是否存在
- 如何压缩文件夹使用 lzma sdk
- 在霍夫曼压缩后将代码表存储在压缩文件中,并从此表构建用于解压缩的树
- c++中的压缩文件IO
- 通过套接字发送和接收压缩文件