我正在寻找一种使用 boost::iostreams 类在 c++ 中提取文件的方法。
boost 文档中有一个示例。但它会将压缩文件的内容输出到 std::cout。我正在寻找一种将其提取到文件结构的方法。
有人知道该怎么做吗?
谢谢!
我正在寻找一种使用 boost::iostreams 类在 c++ 中提取文件的方法。
boost 文档中有一个示例。但它会将压缩文件的内容输出到 std::cout。我正在寻找一种将其提取到文件结构的方法。
有人知道该怎么做吗?
谢谢!
Boost.IOStreams 不支持压缩档案,只支持单个压缩文件。如果要将 .zip 或 .tar 文件提取到目录树中,则需要使用不同的库。
文档中的示例显示了如何解压缩文件并将结果推送到另一个流。
如果您希望将输出定向到内存中的数组,则可以改用类型流boost::iostreams::stream<boost::iostreams::array_source>
。
这基本上是一个围绕数组的流包装器。
不过,当您说要以“文件结构”形式输出时,我不确定您的意思。
在我看来,对 boost::iostreams::copy 的调用将 ostream 作为第二个参数。您是否尝试过使用输出文件名创建一个 ofstream 并使用它?
你可能不想要那个库。您可能想四处寻找其他人。
例如zziplib