boost::iostreams クラスを使用して、C++ でファイルを抽出する方法を探しています。
ブーストのドキュメントに例があります。ただし、圧縮ファイルの内容を std::cout に出力します。ファイル構造に抽出する方法を探しています。
誰もそれを行う方法を知っていますか?
ありがとう!
boost::iostreams クラスを使用して、C++ でファイルを抽出する方法を探しています。
ブーストのドキュメントに例があります。ただし、圧縮ファイルの内容を std::cout に出力します。ファイル構造に抽出する方法を探しています。
誰もそれを行う方法を知っていますか?
ありがとう!
Boost.IOStreams は圧縮アーカイブをサポートせず、単一の圧縮ファイルのみをサポートします。.zip または .tar ファイルをディレクトリ ツリーに抽出する場合は、別のライブラリを使用する必要があります。
ドキュメントの例は、ファイルを解凍し、結果を別のストリームにプッシュする方法を示しています。
代わりに出力をメモリ内配列に送信する場合は、代わりに型のストリームを使用できますboost::iostreams::stream<boost::iostreams::array_source>
。
これは基本的に配列のストリームラッパーです。
ただし、出力を「ファイル構造」にしたいと言ったときの意味がわかりません。
おそらく、そのライブラリは必要ありません。他の人を探してみるといいかもしれません。
例: zziplib
boost::iostreams::copy への呼び出しは、2 番目のパラメーターとして ostream を取るように見えます。出力ファイル名でオフストリームを作成してそれを使用しようとしましたか?