zlib无需写入磁盘即可压缩

时间:2016-05-26 20:24:21

标签: c++ zlib

我是zLib的新手,我对如何使用它很困惑。 这就是我尝试使用c ++做的事情,但没有写入磁盘,所以使用缓冲区或其他东西:

将一个存储在std :: vector中的整数向量打印在一个文本文件中,每个元素之间都有空格。使用zLib压缩它,然后将该压缩文件的大小以字节为单位保存到稍后用于计算的整数变量等等。

感谢任何帮助,谢谢:)

1 个答案:

答案 0 :(得分:0)

zlib有compressuncompress函数,它们指向输入和输出缓冲区(以及每个缓冲区的最大大小)。

在你的情况下,我从std::stringstream开始将整数转换成文本形式(中间有空格)。然后使用该流的.str()将内容检索为字符串。使用字符串.c_str()检索指向其包含的数据的指针,然后将其传递给compress

对于目标,它需要一个指向缓冲区的指针和一个指向long int的指针。它将压缩的大小写入那个long int,这样你似乎想要保存以供以后计算的值等等。