如何在不解压的情况下创建并附加到gz文件
How to create and append to a gz file without decompressing?
我有一个巨大的输入文件,大小为TB(它是gzip(.gz))
我需要单独阅读每一行,并决定是否将其添加到新文件中。
输出文件的大小预计也是TB,但由于我不会添加所有文件,所以会更小。
有没有一种方法可以在C++中使用标准库来做到这一点?我不想使用助推。这可能吗?
标准C++库不处理gzip格式。标准的C库也是如此。我不知道助推。
但是你当然可以使用zlib,我相信如果使用C太令人生畏的话,它会附带一个C++包装器。
顺便说一句,虽然理论上是可能的,但附加到gzip文件通常不是一个好主意。但由于算法需要重置,因此会丢失大量压缩,从而丢失上下文。但是,您可以打开压缩流并对其进行写入,因此不需要将未压缩的文件写入磁盘。我想这就是您查询所需的全部内容。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 使用gzbuffer快速读取GZ的文件,然后按行划分内容
- C/C++:在不使用临时文件的情况下压缩(gz)数据
- 使用 boost::iostreams 和 zlib 读取.gz文件的运行时错误
- 什么是变更日志.Debian打包期间的Debian.gz文件
- 如何在不解压的情况下创建并附加到gz文件
- 试图将一个gz文件提供给一个c++程序
- 如何使用c++程序解压缩tar.gz文件?
- 在c++中读取压缩的gz文件(重文件)的有效方法
- 如何使用zlib创建一个与gz兼容的文件
- 在MATLAB中打开混合数据的.gz文件
- Boost::压缩文件夹tar.gz格式
- 使用 zlib 提取 gz 文件内容并保存
- C++/C 多个线程同时读取 gz 文件