Maison >développement back-end >C++ >Comment forcer le vidage de la sortie dans `std::cout` de C ?

Comment forcer le vidage de la sortie dans `std::cout` de C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 03:33:30250parcourir

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

Forçage du vidage de la sortie std::cout

Ce problème peut se produire lorsque le tampon de std::cout n'est pas immédiatement vidé, ce qui entraîne la sortie être retardé sur l'écran. Voici quelques stratégies pour résoudre ce problème :

Utilisation de std::flush

La solution la plus simple consiste à insérer std::flush après la ligne de sortie souhaitée. Cela garantit que le tampon est vidé avant l'exécution de l'instruction suivante.

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

Utiliser std::endl

Une autre option consiste à utiliser std::endl après le ligne de sortie. Cela vide implicitement le tampon et ajoute également un caractère de nouvelle ligne.

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

Utilisation de std::flush avec des manipulateurs d'E/S

Si vous utilisez des E/S manipulateurs, tels que std::setw ou std::setprecision, vous pouvez forcer le vidage du tampon en utilisant std::flush après le manipulateur appelez.

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

Méthodes d'impression alternatives

Dans certains cas, l'utilisation d'une méthode d'impression alternative peut fournir une sortie plus immédiate. Pensez à utiliser :

  • printf de la bibliothèque standard C
  • fprintf pour imprimer sur un flux de sortie standard
  • std::cerr pour une sortie d'erreur sans tampon

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn