我正在尋找一種方法來使用boost :: iostreams類在C++中提取文件。使用boost :: iostreams提取壓縮文件
在boost documentation中有一個例子。但它將壓縮文件的內容輸出到std :: cout。 我正在尋找一種方法將其解壓縮到文件結構中。
有人知道該怎麼做嗎?
謝謝!
我正在尋找一種方法來使用boost :: iostreams類在C++中提取文件。使用boost :: iostreams提取壓縮文件
在boost documentation中有一個例子。但它將壓縮文件的內容輸出到std :: cout。 我正在尋找一種方法將其解壓縮到文件結構中。
有人知道該怎麼做嗎?
謝謝!
Boost.IOStreams不支持壓縮存檔,只是單個壓縮文件。如果要將.zip或.tar文件解壓縮到目錄樹,則需要使用其他庫。
在我看來像boost :: iostreams :: copy的調用需要一個ostream作爲第二個參數。你有沒有嘗試用你的輸出文件名創建一個ofstream並使用它?
文檔中的示例顯示瞭如何解壓文件並將結果推送到另一個流。
如果您希望將輸出定向到內存數組,則可以使用類型爲boost::iostreams::stream<boost::iostreams::array_source>
的流。
這基本上是一個數組的流包裝。
我不確定你說什麼時你想在「文件結構」中輸出的意思。
你可能不想要那個庫。您可能想要尋找其他人。
E.g. zziplib
你是什麼意思的「文件結構」? – jalf 2009-07-27 16:12:17
我正在談論一個包含多個其他文件和目錄的壓縮文件。 – 2009-07-27 16:29:01