共用方式為


緩衝的效果

下列範例會示範緩衝的效果。 您可能會想要列印的程式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 manipulator:

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

這個步驟會清除緩衝區,確保在等候之前先列印的郵件。 您也可以使用endl manipulator,這會清除緩衝區,並將輸出的換行字元 return–linefeed,或者您也可以使用cin物件。 這個物件 (與cerrclog物件) 通常會繫結至cout物件。 因此,任何使用cin (或cerrclog物件) 會清除cout物件。

請參閱

參考

輸出資料流