4

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

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

有人知道该怎么做吗?

谢谢!

4

4 回答 4

6

Boost.IOStreams 不支持压缩档案,只支持单个压缩文件。如果要将 .zip 或 .tar 文件提取到目录树中,则需要使用不同的库。

于 2009-07-27T16:20:22.600 回答
2

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

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

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

不过,当您说要以“文件结构”形式输出时,我不确定您的意思。

于 2009-07-27T16:14:08.867 回答
1

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

于 2009-07-27T16:03:25.380 回答
1

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

例如zziplib

于 2009-07-27T16:38:32.470 回答