如何在不解压缩的情况下创建和附加到gz文件?

时间:2014-09-20 19:17:17

标签: c++ macos unix gz

我有一个巨大的输入文件,大小为太字节(它是gzip(.gz))。

我需要单独阅读每一行,并决定是否将其添加到新文件中。

输出文件的大小也应该是太字节,但由于我不会添加所有文件,所以输出文件会更小。

有没有办法在C ++中使用标准库?我不想使用提升。这可能吗?

1 个答案:

答案 0 :(得分:0)

标准C ++库不处理gzip格式。标准C库也没有。我不知道提升。

但是你当然可以使用zlib,如果C的使用太令人生畏,我相信它会附带一个C ++包装器。

顺便说一句,附加到gzip压缩文件通常不是一个好主意,尽管理论上可行。但是你会失去很多压缩,因为算法需要重置,从而失去了上下文。但是,您可以打开压缩流并写入它,因此您无需将未压缩的文件写入磁盘。我认为这就是您对此查询所需的全部内容。