Mi servirebbe sapere come rallentare con una sorta di timeout il programma in C, ad un certo punto si deve fermare e aspettare un secondo e poi continuare l'esecuzione.
Sono sotto ambiente linux, grazie.
Mi servirebbe sapere come rallentare con una sorta di timeout il programma in C, ad un certo punto si deve fermare e aspettare un secondo e poi continuare l'esecuzione.
Sono sotto ambiente linux, grazie.
funge ?codice:#include <stdio.h> #include <stdlib.h> #include <time.h> void delay(int seconds); int main(void){ int i; for(i = 1; i <= 60; i++){ printf("%d\n", i); delay(1); } return EXIT_SUCCESS; } void delay(int seconds){ clock_t start = clock(); for( ; (clock() - start) <= seconds * CLOCKS_PER_SEC; ); }
![]()
decisamente non funziona![]()
Alcune cose sono veramente da spiegare...
com'è scritto il ciclo for???
Ma alcune variabili te le hai inventate?? Da dove viene CLOCKS_PER_SEC ??
Non esiste una funzione già esistente compresa in qualche libreria standard?
Cosa non capisci?Originariamente inviato da alienone
com'è scritto il ciclo for???
Non sono variabili ma costanti e non sono inventate ma sono dichiarate negli include ...Ma alcune variabili te le hai inventate?? Da dove viene CLOCKS_PER_SEC ??
Se vuoi, puoi utilizzare anche la Sleep (Windows) o usleep (Linux) ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ma io non le vedo dichiarate nelle direttive del preprocessore!! Se fosse così basterebbe aggiungere un define...che non c'è!
Del ciclo for non capisco l'utilità, non inizializza nessuna variabile (non ce n'è bisogno) e poi non usa mica un contatore, verifica solo questa ipotesi:clock() - start) <= seconds * CLOCKS_PER_SEC
Come funziona usleep? Devi dare come argomenti i millisecondi per cui vuoi che aspetti o qualcosa del genere?
Non capisco cio' che hai scritto ... comunque, la costante e' dichiarata in time.h ...Originariamente inviato da alienone
Ma io non le vedo dichiarate nelle direttive del preprocessore!! Se fosse così basterebbe aggiungere un define...che non c'è!
Beh ... l'utilità e' chiara ... fa attendere il programma per il tempo richiesto ...Del ciclo for non capisco l'utilità
Appunto ... non ce n'e' bisogno ... ma una for non e' necessaria ...non inizializza nessuna variabile (non ce n'è bisogno)
E quindi? Il problema qual e'? Ancora non l'ho capito ...e poi non usa mica un contatore, verifica solo questa ipotesi:clock() - start) <= seconds * CLOCKS_PER_SEC
Perchè non usa un contatore non si può utilizzare una for ?
http://linux.die.net/man/3/usleepCome funziona usleep?
No MP tecnici (non rispondo nemmeno!), usa il forum.
come esiste una costante in time.h che si chiama CLOCKS_PER_SEC ??
Ok, comunque quella funzione sono riuscito ad usarla, però non mi è servita...
Insomma mi serviva un programma che si collegasse via ftp (da terminale) con una serie di comandi system e si loggasse per caricare automaticamente dei file; per farlo quindi ho pensato si potessero inserire dei dati come nome utente e password facendo aspettare un pò il programma, ma ciò non succede...
Anche in questo caso mi potreste aiutare gentilmente come avete fatto per il primo problema??![]()