Rogue Wave バナー
前へマニュアルの先頭へ目次次へ

14.4 ストリームの結合による暗黙的な同期

状況によっては、出力ストリームにストリームを結合することによって自動的な同期を行うことができます。次のコードは、その方法を示したものです。この場合は、入力演算や出力演算があると、それらを処理する前に、結合されたストリームのバッファがフラッシュされます。

ofstream ostr("/tmp/fil");
ifstream istr("/tmp/fil");
ostream* old_tie = istr.tie(&ostr);                           //1
 
while (some_condition)
{ ostr << " some output ";
  string s;
  while (istr >> s)                                           //2
     // プロセス入力 ;
}

istr.tie(old_tie);                                            //3
//1 入力ストリーム istr は、出力ストリーム ostr に結合されます。tie() 関数は、先に結合した出力ストリームまでのポインタを返します。出力ストリームが結合されていない場合はゼロが返ります。
//2 入力を実行する前に、結合した出力ストリームのバッファがフラッシュされ、ostr に対する以前の出力演算が外部ファイル /tmp/fil で利用できるようになります。
//3 以前の結合が復元されます。

前へマニュアルの先頭へ目次次へ

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。


OEM リリース, 1998 年 6 月