C++ Kurs

Wenn fertig, bitte Fenster schließen

cout Pufferung 

Wenn Sie mittels cout eine Ausgabe vornehmen, so wird diese Ausgabe nicht sofort auf der Standardausgabe (in der Regel Bildschirm) dargestellt, sondern zunächst einmal in einen Ausgabepuffer kopiert. Der Grund dafür ist, dass das Schreiben in einen Ausgabepuffer wesentlich schneller vonstatten geht als die Darstellung der Ausgabe auf dem Bildschirm. Erst wenn der Ausgabepuffer 'ausreichend' gefüllt ist, eine Eingabe erfolgen soll oder aber das Programm beendet wird, wird der Inhalt des Ausgabepuffers auf die Standardausgabe geschrieben.

In einigen Fällen kann es aber durchaus erwünscht sein, dass die Ausgabe sofort auf die Standardausgabe geschrieben wird. Dazu stehen Ihnen zwei Möglichkeiten offen:

  1. Sie rufen die Memberfunktion cout.flush() auf.
  2. Sie beenden die Ausgabe mit einem Zeilenvorschub durch Aufruf des Manipulators endl.

Wollen Sie die cout-Ausgabe stets ungepuffert durchführen, so können Sie mit cout.setf(std::ios::unitbuf) die Pufferung 'abschalten' und mit cout.unsetf(std::ios::unitbuf) sie bei Bedarf wieder aktivieren.