## 14.3 unitbuf 書式設定フラグによる暗黙的な同期

書式設定フラグ `ios_base::unitbuf` で、出力ファイルの自動的な同期を行うことができます。次のように、出力演算が終わるたびに、出力ストリームがバッファをフラッシュします。

>     ofstream ostr("/tmp/fil");
>     ifstream istr("/tmp/fil");

>     ostr << unitbuf;                                              //1

>     while (some_condition)
>     { ostr << " some output";                                   //2
>       // process the output
>       istr >> s;
>       //
>     }

//1 | `unitbuf` 書式設定フラグを設定します。
//2 | 共有ファイル `/tmp/fil` に挿入するたびに、バッファが自動的にフラッシュされ、同じファイルを読み取る他のストリームでもその出力を利用することができます。

トークンが挿入されるごとにフラッシュするのは効率が悪いので、長い出力で、さらに部分的な読み取りが不必要な場合は、`unitbuf` フラグをオフにすることもできます。

>     ostr.unsetf(ios_base::unitbuf);                               //1
>     ostr << "  some lengthy and complicated output ";
>     ostr.flush().setf(ios_base::unitbuf);                         //2

//1 | `unitbuf` フラグをオフにします。または、マニピュレータで `ostr << nounitbuf;` とすることもできます。
//2 | バッファをフラッシュし、`unitbuf` フラグを再びフラッシュします。または、 `ostr << flush << unitbuf;` とすることもできます。

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

OEM リリース, 1998 年 6 月