書式設定フラグ 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 月