Comment utiliser les secondes (le temps) dans un programme C comme un compteur?
J'essaye de faire un programme en C pour utiliser les "secondes" de l'clock_t comme pour un compteur de boucle. Comment est-il possible? Ci-dessous mon code qui ne fonctionne pas,
#include<stdio.h>
#include <time.h>
int main()
{
clock_t begin, end;
double time_spent;
begin = clock();
time_spent = (double)begin / CLOCKS_PER_SEC;
for(time_spent=0.0; time_spent<62000.0; time_spent++)
{
printf("hello \n");
if(time_spent==5.0)
break;
}
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
printf(" %lf\n", time_spent);
}
- Vous avez attribué
time_spent
à l'aide de(double)begin...
et puis écrasait dans votre suitefor
déclaration. Aussi la casetime_spent == 5.0
n'est pas une bonne idée en raison de l'arrondi interne erreurs pour les valeurs à virgule flottante. Il peut ne jamais frapper exactement5.0
. - Êtes-vous juste essayer de boucle (autant de fois que possible jusqu'à une certaine quantité de temps a passé, ou à boucle, à des intervalles spécifiques pour un certain laps de temps?
Vous devez vous connecter pour publier un commentaire.
Il est difficile de dire exactement ce que vous voulez faire (par les commentaires faits à votre question), mais je suppose que c'est quelque chose comme ceci (boucle prendra fin au bout de 5 secondes). Notez que l'horloge() est un peu dépendante du système. Parfois, il est wallclock temps, mais il est censé être le temps CPU.