C++ Tutorial

Anhang E: cout Pufferung

Bei einer Ausgabe mittels cout wird die Ausgabe nicht sofort auf die Standardausgabe ausgegeben, sondern zunächst in einen internen Ausgabepuffer kopiert. Der Grund dafür ist, dass das Schreiben in einen Ausgabepuffer wesentlich schneller vonstattengeht als die direkte Ausgabe auf die Standard-Ausgabe. Erst wenn der Ausgabepuffer 'ausreichend' gefüllt ist, eine Eingabe erfolgen soll oder das Programm beendet wird, wird der Inhalt des Ausgabepuffers auf die Standardausgabe geschrieben.

In einigen Fällen kann es aber durchaus wünschenswert sein, die Ausgabe sofort auf die Standardausgabe zu schreiben. Dazu gibt es zwei Möglichkeiten:

  • Aufruf der Methode cout.flush() oder
  • Aufruf des Manipulators endl.

Soll die cout Ausgabe ungepuffert durchgeführt werden, kann mittels cout.setf(std::ios::unitbuf); die Pufferung deaktiviert und mit cout.unsetf(std::ios::unitbuf); bei Bedarf wieder aktiviert werden.


Copyright 2024 © Wolfgang Schröder
E-Mail mit Fragen oder Kommentaren zu dieser Website an: info@cpp-tutor.de
Impressum & Datenschutz