2010-07-31 25 views

risposta

61

Usa:

#include <windows.h> 

Sleep(sometime_in_millisecs); // Note uppercase S 

Ed ecco un piccolo esempio che compila con MinGW e fa quello che dice sulla latta:

+4

Peccato che l'addetto alla risposta fosse anonimo, o avrebbe vinto qualche buon rappresentante ... –

+8

"visto 42374 volte" - quindi ovviamente molte persone là fuori avevano anche questa domanda (e come dovrei sapere per prefisso "msdn" per il mio google cercare quando stavo facendo qualche programmazione Linux/POSIX per ora?) – mozzbozz

1

MSDN: Intestazione: winbase.h (includere Windows.h)

+1

Quando sono dotate di finestre. h il mio compilatore restituisce "errore: nome parametro omesso" e "errore: espressione attesa prima di", "token" – RYN

+0

@Snigger Pubblicare un breve esempio che dimostri ciò e indicare quale compilatore si sta utilizzando. –

+0

#include vuoto writeData (risultato * ris, char * OUT) {} int main() { \t ritorno 1; \t dà "errore: atteso ')' prima di '*' token" e sto usando GCC (mingw) – RYN

6

includere la seguente funzione all'inizio del codice, ogni volta che si vuole forzare l'esecuzione di mettere in pausa senza mettere onere supplementare sulla CPU (nel caso di un ciclo for)

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

1. Questo non risponde alle domande del poster 2. Questo è semplicemente sbagliato perché è ancora un ciclo occupato (con o senza un ciclo 'for'). –

+0

su voto. Stavo cercando una funzione di sospensione in Windows C, eccetto Sleep(). Funziona bene Grazie. – rashok

+6

Questo non è sonno, questo è "tieni occupato in un circuito chiuso" e metti comunque un carico aggiuntivo sulla CPU. Sleep rilascia la CPU per fare altre cose. – Bacco