Foros del Web » Programación para mayores de 30 ;) » C/C++ »

duda sobre Sleep()

Estas en el tema de duda sobre Sleep() en el foro de C/C++ en Foros del Web. Hola, la razon de este post es que no entiendo por que hace esto la funcion Sleep() en C++. por ejemplo: cout << "hola" << ...
  #1 (permalink)  
Antiguo 07/08/2010, 10:39
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 4
duda sobre Sleep()

Hola, la razon de este post es que no entiendo por que hace esto la funcion Sleep() en C++.

por ejemplo:

cout << "hola" << endl;
Sleep(1000);
cout << "adios" << endl;

esto deberia devolver:

hola (esperar 1 segundo)
adios

pero no hace eso. lo que hace es:

(esperar 1 segundo)
hola
adios


lo he probado con linux y con windows y en los dos casos pasa eso, primero espera y luego escribe, en vez de escribir, esperar y escribir.


saludos y gracias
  #2 (permalink)  
Antiguo 07/08/2010, 11:02
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: duda sobre Sleep()

no estoy seguro, pero tu problema esta en que cuando imprimes hola, y haces sleep el buffer no se termino de llenar por lo que no se imprime y espera.... deberias forzar un vuelvo del buffer.

Prueba con esto:
cout << "hola" << endl<< flush;
  #3 (permalink)  
Antiguo 07/08/2010, 13:38
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: duda sobre Sleep()

gracias sam90, funciona perfecto en linux.

pero tambien me gustaria utilizarlo en visual c++ (en windows), sabes cual seria el equivalente para visual c++??

googleando un poco he encontrado estos pero no funcionan:

flush;
this->textBox1->Flush();
fflush(stdin);
flush();

saludos

Etiquetas: sleep
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:41.