2010-07-31 15 views

Respuesta

61

Uso:

#include <windows.h> 

Sleep(sometime_in_millisecs); // Note uppercase S 

Y aquí es un pequeño ejemplo que compila con MinGW y hace lo que dice en la lata:

#include <windows.h> 
#include <stdio.h> 

int main() { 
    printf("starting to sleep...\n"); 
    Sleep(3000); // Sleep three seconds 
    printf("sleep ended\n"); 
} 
+4

Lástima que el que responde fue anónimo, o que habría ganado un buen representante ... –

+8

"visto 42374 veces" - así que obviamente muchas personas también tenían esta pregunta (y cómo debería saber prefijo "msdn" para mi google buscar cuando principalmente estaba haciendo algo de programación Linux/POSIX por ahora?) – mozzbozz

1

MSDN: Cabecera: Winbase.h (incluya Windows.h)

+1

Cuando incluyo ventanas. h mi compilador da "error: nombre del parámetro omitido" y "error: expresión esperada antes", "token" – RYN

+0

@Snigger Publique un breve ejemplo que demuestre esto y díganos qué compilador está utilizando. –

+0

# include vacío WriteData (resultado de res *, char * OUT) {} int main() { \t return 1; \t } da "error: esperado ')' antes '*' token" y estoy usando GCC (mingw) – RYN

6

Incluir la siguiente función en el inicio de su código, cada vez que desee forzar la ejecución para hacer una pausa sin poner una carga adicional en la CPU (en el caso de un bucle for)

void sleep(unsigned int mseconds) 
{ 
    clock_t goal = mseconds + clock(); 
    while (goal > clock()) 
     ; 
} 
+10

1. Esto no responde a las preguntas del cartel 2. Esto es simplemente incorrecto porque sigue siendo un bucle ocupado (con o sin un bucle 'for'). –

+0

hasta la votación. Estaba buscando alguna función de suspensión en Windows C, excepto Sleep(). Esto está funcionando bien. Gracias. – rashok

+6

Esto no es dormir, esto es "mantener ocupado en un circuito cerrado", y poner una carga adicional a la CPU de todos modos. Sleep libera la CPU para hacer otras cosas. – Bacco

Cuestiones relacionadas