Bonjour,
J'ai besoin dans mon programme d'attendre un certain temps avant de réeffectuer une action... Si cela va trop vite, on ne verra rien! J'ai bien vu quelques pages parlant d'une fonction Sleep() sous windows et usleep() sous unix mais désirant utiliser des fonctions des bibliothèques standards, j'ai voulu réécrire une fonction simple.
J'ai trouvé dans la bibliothèque <ctime> et dans les exemples donnés comment écrire une première fonction :
Seulement les secondes sont anormalements lentes... Ne trouvant pas de solution, j'ai contourné le problème et écrit cette deuxième fonction qui donne le résultat attendu cette fois-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void wait(int seconds) { clock_t endwait; endwait = clock() + seconds * CLOCKS_PER_SEC; while (clock() < endwait) {} }
Quelqu'un pourrait-il m'indiquer pourquoi cette première fonction ne fonctionne pas? Je n'aime pas ne pas comprendre quelque chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void wait2(int second) { time_t start, end; time(&start); do { time(&end); } while (difftime(end,start) < 1); }
Aussi, j'aimerais savoir quelle est la meilleure façon d'attendre un certain temps dans un programme?
Merci d'avance!
Rémi.
Partager