Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El ejemplo siguiente se muestran los efectos de almacenamiento en búfer.Puede esperar que el programa imprime please wait, espera 5 segundos y, a continuación continúa.No funcionará necesariamente de esta manera, sin embargo, dado que almacenan en búfer en el resultado.
// 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;
}
Para que funcione el programa lógicamente, el objeto de cout debe vaciarse cuando el mensaje es producir.Para vaciar un objeto de ostream , enviarle el manipulador de flush :
cout << "Please wait..." << flush;
Este paso vacía el búfer, proporcionando así el mensaje imprime antes de la espera.También puede utilizar el manipulador de endl , que vuelca el búfer y genera un retorno-avance de línea de carro, o puede utilizar el objeto de cin .Este objeto (con objetos de cerr o de clog ) está vinculada normalmente al objeto de cout .Por tanto, cualquier uso de cin (u objetos de cerr o de clog ) vacía el objeto de cout .