我正在寻找一种使用boost :: iostreams类在c ++中提取文件的方法。
boost documentation中有一个例子。但它将压缩文件的内容输出到std :: cout。 我正在寻找一种方法将其提取到文件结构。
有人知道怎么做吗?
谢谢!
答案 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