2009-07-27 74 views
4

我正在寻找一种方法来使用boost :: iostreams类在C++中提取文件。使用boost :: iostreams提取压缩文件

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

有人知道该怎么做吗?

谢谢!

+0

你是什么意思的“文件结构”? – jalf 2009-07-27 16:12:17

+0

我正在谈论一个包含多个其他文件和目录的压缩文件。 – 2009-07-27 16:29:01

回答

5

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

1

在我看来像boost :: iostreams :: copy的调用需要一个ostream作为第二个参数。你有没有尝试用你的输出文件名创建一个ofstream并使用它?

2

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

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

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

我不确定你说什么时你想在“文件结构”中输出的意思。

1

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

E.g. zziplib

相关问题