Ho scritto una piccola applicazione console e voglio che si fermi per un certo numero di secondi prima che il ciclo (un po ') ricominci.Attendi/sospendi un numero di secondi in C
Sto lavorando al sistema operativo Windows.
Ho scritto una piccola applicazione console e voglio che si fermi per un certo numero di secondi prima che il ciclo (un po ') ricominci.Attendi/sospendi un numero di secondi in C
Sto lavorando al sistema operativo Windows.
Su Windows, la funzione per eseguire questa operazione è Sleep
, che richiede l'importo di millisecondi per cui si desidera dormire. Per utilizzare Sleep
, è necessario includere windows.h
.
Su POSIX-Systems, la funzione sleep
(da unistd.h
) compie questo:
unsigned int sleep(unsigned int seconds);
DESCRIPTION
sleep() makes the calling thread sleep until
seconds seconds have elapsed or a signal arrives which is not ignored.
Se è interrotta da un segnale, il tempo rimanente di dormire viene restituito. Se si utilizza i segnali, una soluzione più robusta sarebbe:
unsigned int time_to_sleep = 10; // sleep 10 seconds
while(time_to_sleep)
time_to_sleep = sleep(time_to_sleep);
Questo è naturalmente assumendo segnale-gestori di prendere solo una quantità trascurabile di tempo. (In caso contrario, questo ritarderà il programma principale più a lungo del previsto)
facile:
while(true)
{
// your stuff
sleep(10); // sleeping for 10 seconds
};
Il passaggio dell'argomento 10 non ti darà 10 secondi. – nicomp
Non penso che 'seconds' sia un tag molto utile. –