Heim >Backend-Entwicklung >C++ >Wie erzwinge ich das Leeren der Ausgabe in C?

Wie erzwinge ich das Leeren der Ausgabe in C?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-03 03:03:02224Durchsuche

How to Force Output Flushing in C  ?

Spülen der Ausgabe auf den Bildschirm in C erzwingen

In C wird die Ausgabe bei Verwendung des Streams std::cout gepuffert, d. h wird nicht unbedingt sofort auf den Bildschirm gesendet. Dies kann problematisch sein, wenn Sie während eines lang laufenden Prozesses Zwischenergebnisse oder Statusaktualisierungen anzeigen möchten.

Um das Leeren des std::cout-Puffers zu erzwingen, können Sie einfach std::flush nach Ihrer Ausgabe einfügen Stellungnahme. Zum Beispiel:

<code class="cpp">std::cout << "Beginning computations..." << std::flush;
computations();
std::cout << " done!\n";</code>

Dadurch wird sichergestellt, dass „Beginn der Berechnungen...“ sofort auf dem Bildschirm ausgegeben wird, noch bevor die Funktion „Berechnungen()“ aufgerufen wird.

Eine andere Option ist: Verwenden Sie den Manipulator std::endl, der den Puffer nach dem Drucken einer neuen Zeile automatisch leert:

<code class="cpp">std::cout << "Beginning computations..." << std::endl;
computations();
std::cout << " done!";</code>

Mit einer dieser Techniken können Sie das Timing Ihrer Ausgabe steuern und sicherstellen, dass wichtige Nachrichten angezeigt werden zum passenden Zeitpunkt.

Das obige ist der detaillierte Inhalt vonWie erzwinge ich das Leeren der Ausgabe in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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