質問

「連鎖」を考えていた入力を2回フィルタリングするためのc ++ iostreamのカップル。私はgzstreamsを使用してzlib圧縮ファイルを読み取り、ストリームから読み取り、エンコード変換を実行するストリームをコーディングすることを考えていました。おそらく、開かれたストリームをコンストラクターパラメーターとして渡すことによって...これをどのように行うのが最善だと思いますか?

役に立ちましたか?

解決

これは使用していませんが、ブーストの filtering_stream が役立つ場合があります。

例として、メーリングリストの投稿を見つけましたインデントする出力フィルターを実装する indent.hpp 出力:

boost::iostreams::filtering_ostream out; 
indent_filter::push(out,2); 
out.push(std::cout); 
  

次のように使用します:

out << "Hello Filter!\n" 
    << indent_in 
    << "this is\n" 
    << "indented\n" 
    << indent_out 
    << "until here\n" 
    ; 
  

出力される結果:

Hello Filter! 
  this is 
  indented 
until here 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top