Partager via


Effets de la mise en mémoire tampon

l'exemple suivant montre les effets de la mise en mémoire tampon.Vous pouvez supposer que le programme imprime please wait, attendez au moins 5 secondes, puis continuez.Cela ne fonctionnera pas nécessairement de cette façon, toutefois, comme la sortie est mise en mémoire tampon.

// effects_buffering.cpp
// compile with: /EHsc
#include <iostream>
#include <time.h>
using namespace std;

int main( )
{
   time_t tm = time( NULL ) + 5;
   cout << "Please wait...";
   while ( time( NULL ) < tm )
      ;
   cout << "\nAll done" << endl;
}

Pour effectuer le travail de programme logiquement, l'objet d' cout doit effectuer un vidage lorsque le message est d'apparaître.Pour purger un objet d' ostream , puis envoyez -le le manipulateur d' flush :

cout << "Please wait..." << flush;

Cette étape vide la mémoire tampon, en vérifiant les copies de message avant l'attente.Vous pouvez également utiliser le manipulateur d' endl , qui vide la mémoire tampon et exporte un saut de ligne-retour de panier, ou vous pouvez utiliser l'objet d' cin .Cet objet (avec les objets d' cerr ou d' clog ) est généralement attaché à l'objet d' cout .Par conséquent, toute utilisation d' cin (ou des objets d' cerr ou d' clog ) vide l'objet d' cout .

Voir aussi

Référence

Flux de sortie