## 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 月