解決策をたくさん探した後、私は実際に助けを求めることにしました!
いくつかのブロックで構成されるファイルがあり、各ブロックは圧縮されている場合とされていない場合があります。各ブロックの前には、ブロックのサイズとブロックが圧縮されているかどうかが示されます。各ブロック内には、ブロックを識別する文字列があります。ブロック名を指定して、ファイルから関連するブロックを取得したいと思います。
私の最初の考えは、圧縮フラグとブロックのサイズを読み取り、ブロックだけをistringstreamに読み取り、必要に応じてistringstreamを解凍してから、ブロック名を検索することです。圧縮フラグとブロックのサイズを読み取ることはできますが、ファイルデータのブロックをistringstreamに読み込む方法がわかりません。人々がファイル全体をistringstreamに読み込んだ場所はわかりますが、各ブロックを解凍する必要がある場合とない場合があるため、これは行いたくありません。
私が見逃したアイデアや解決策へのリンクはありますか?または、より良いアルゴリズムはありますか?コメントありがとうございます。