次の方法で共有


バッファリングの効果

次の例ではリング バッファーの効果を示します。please wait を印刷するとプログラムで予期して 5 秒間待機次に進みます。ただし必ずしも出力バッファーがこの方法でためです。

// effects_buffering.cpp
// compile with: /EHsc
#include <iostream>
#include <time.h>
using namespace std;

int main( )
{
   time_t tm = time( NULL ) + 5;
   cout << "Please wait...";
   while ( time( NULL ) < tm )
      ;
   cout << "\nAll done" << endl;
}

プログラム作業を論理的に使用するにはcout のオブジェクトはメッセージを表示するときにそれ自体を空けなければ必要があります。ostream のオブジェクトをフラッシュするために flush のマニピュレーターを使用して :

cout << "Please wait..." << flush;

この手順ではバッファーをフラッシュし出力メッセージを待機する前に確認します。またバッファーをフラッシュし復帰とライン フィードを出力したりcin オブジェクトを使用できます endl のマニピュレーターを使用できます。cout のオブジェクトへの cerr このオブジェクト (または clog のオブジェクトとともに通常関連付けられます。したがってcerr または clog のオブジェクトの cin の使用方法 (または) cout のオブジェクトをフラッシュします。

参照

関連項目

出力ストリーム