使用boost :: iostreams提取压缩文件

时间:2009-07-27 15:53:57

标签: c++ compression boost-iostreams

我正在寻找一种使用boost :: iostreams类在c ++中提取文件的方法。

boost documentation中有一个例子。但它将压缩文件的内容输出到std :: cout。 我正在寻找一种方法将其提取到文件结构。

有人知道怎么做吗?

谢谢!

4 个答案:

答案 0 :(得分:5)

Boost.IOStreams不支持压缩存档,只支持单个压缩文件。如果要将.zip或.tar文件解压缩到目录树,则需要使用其他库。

答案 1 :(得分:2)

文档中的示例显示了如何解压缩文件并将结果推送到另一个流。

如果您希望将输出定向到内存数组,则可以使用类型为boost::iostreams::stream<boost::iostreams::array_source>的流。

这基本上是一个数组的流包装器。

当你说你想要“文件结构”中的输出时,我不确定你的意思。

答案 2 :(得分:1)

在我看来,调用boost :: iostreams :: copy会将ostream作为第二个参数。您是否尝试使用输出文件名创建一个ofstream并使用它?

答案 3 :(得分:1)

你可能不想要那个库。您可能想要四处寻找其他人。

E.g。 zziplib

相关问题