버퍼링의 효과
다음 예제에서는 버퍼링의 결과 보여 줍니다.인쇄할 수 있는 프로그램으로 예상할 수 있습니다 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, 및 캐리지 – 줄 바꿈 출력 버퍼를 플러시 하거나 수 있습니다의 cin 개체입니다.이 개체 (와 cerr 또는 clog 개체) 일반적으로 연결 되어 있는 cout 개체.모든 사용에 따라서 cin (나의 cerr 또는 clog 개체) 플러시 수는 cout 개체입니다.