Heim > Backend-Entwicklung > C++ > Hauptteil

Wie erzwinge ich eine Flush-Ausgabe in „std::cout' von C?

Linda Hamilton
Freigeben: 2024-11-04 03:33:30
Original
197 Leute haben es durchsucht

How to Force Flush Output in C  's `std::cout`?

Leerung der std::cout-Ausgabe erzwingen

Dieses Problem kann auftreten, wenn der Puffer von std::cout nicht sofort geleert wird, was zu einer Ausgabe führt auf dem Bildschirm verzögert angezeigt werden. Hier sind einige Strategien, um dieses Problem anzugehen:

Verwendung von std::flush

Die einfachste Lösung besteht darin, std::flush nach der gewünschten Ausgabezeile einzufügen. Dadurch wird sichergestellt, dass der Puffer geleert wird, bevor die nächste Anweisung ausgeführt wird.

<code class="cpp">std::cout << "Beginning computations..." << std::flush;</code>
Nach dem Login kopieren

Verwendung von std::endl

Eine andere Möglichkeit besteht darin, std::endl nach dem zu verwenden Ausgabezeile. Dadurch wird der Puffer implizit geleert und auch ein Zeilenumbruchzeichen hinzugefügt.

<code class="cpp">std::cout << "Beginning computations..." << std::endl;</code>
Nach dem Login kopieren

Verwendung von std::flush mit E/A-Manipulatoren

Wenn Sie E/A verwenden B. std::setw oder std::setprecision, können Sie das Leeren des Puffers erzwingen, indem Sie nach dem Aufruf des Manipulators std::flush verwenden.

<code class="cpp">std::cout << "Beginning computations..." << std::setw(20) << std::flush;</code>
Nach dem Login kopieren

Alternative Druckmethoden

In manchen Fällen kann die Verwendung einer alternativen Druckmethode eine schnellere Ausgabe ermöglichen. Erwägen Sie die Verwendung von:

  • printf aus der C-Standardbibliothek
  • fprintf zum Drucken in einen Standardausgabestream
  • std::cerr für ungepufferte Fehlerausgabe

Das obige ist der detaillierte Inhalt vonWie erzwinge ich eine Flush-Ausgabe in „std::cout' von C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage