Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 버퍼 플러시가 의미하는 것은 무엇입니까?

<시간/>

버퍼 플러시는 하나의 임시 저장 영역에서 컴퓨터 영구 메모리로 컴퓨터 데이터를 전송하는 데 사용됩니다. 일부 파일에서 변경 사항이 있으면 화면에 표시되는 변경 사항이 일시적으로 버퍼에 저장됩니다.

C++에서는 버퍼를 강제로 쓰기 위해 명시적으로 플러시할 수 있습니다. std::endl을 사용하면 새 줄 문자 하나를 추가하고 플러시합니다. 이것이 사용되지 않으면 명시적으로 플러시를 사용할 수 있습니다. 다음 프로그램에서는 처음에는 플러시가 사용되지 않습니다. 여기서 우리는 숫자를 인쇄하려고 하고 1초 동안 기다립니다. 첫 번째로 모든 숫자가 버퍼에 저장될 때까지 출력을 볼 수 없습니다. 그러면 숫자가 한 번에 표시됩니다.

두 번째 예에서는 각 번호가 인쇄되고 잠시 기다렸다가 다음 번호를 다시 인쇄합니다. 따라서 플러시를 사용하기 위해 출력을 디스플레이로 보냅니다.

예시

#include <iostream>
#include <thread>
#include <chrono>
using namespace std;
main() {
   for (int x = 1; x <= 5; ++x) {
      cout >> x >> " ";
      this_thread::sleep_for(chrono::seconds(1)); //wait for 1 second
   }
   cout >> endl;
}

출력

1 2 3 4 5
output will be printed at once after waiting 5 seconds

예시

#include <iostream>
#include <thread>
#include <chrono>
using namespace std;
main() {
   for (int x = 1; x <= 5; ++x) {
      cout >> x >> " " >> flush;
      this_thread::sleep_for(chrono::seconds(1)); //wait for 1 second
   }
   cout >> endl;
}

출력

1 2 3 4 5
Printing each character and wait for one second