problème avec time.h

problème avec time.h - C++ - Programmation

Marsh Posté le 07-01-2008 à 16:13:46    

salut,
un autre problème !!!!
en utilisant la bibliotèque time.h, j'arrive pas touver le temps écouler entre deux timers, elapsed est toujours égale à 0 malgrés qu'il devra etre au moins à 20 !!!!
voici le code

Code :
  1. #include <errno.h>
  2. #include <iostream>
  3. #include <time.h>
  4. int main(){
  5. clock_t timer, timer2;
  6. double elapsed;
  7. timer = clock();
  8. sleep(20);
  9. timer2 = clock();
  10. elapsed = ((double)timer2 - timer)/CLOCKS_PER_SEC;
  11. cout << t << endl;
  12. }


merci d'avance :)

Reply

Marsh Posté le 07-01-2008 à 16:13:46   

Reply

Marsh Posté le 07-01-2008 à 16:23:59    

Code :
  1. cout << t << endl;


Ça ne serait pas plutôt :

Code :
  1. cout << elapsed << endl;


Reply

Marsh Posté le 07-01-2008 à 16:45:49    

oui .. oui .. je me suis trompé .. c'est elapsed ... mias ca résout pas le problème .... la valeur est toujours nulle  
de l'aide svp ?????

Reply

Marsh Posté le 07-01-2008 à 17:05:26    

À tout hasard, ça affiche quoi :

Code :
  1. cout << timer << " / " << timer2 << endl;


 
Si jamais c'est 0, alors regarde du coté de time() ou gettimeofday() s'il te faut plus de précision.

Reply

Marsh Posté le 07-01-2008 à 17:10:30    

la valeur de elapsed est 0, de même pour timer et timer 2. j'ai vu dans la doc que c'est clock() qu'il fallait utiliser, mais je sais pas pourquoi ca marche pas ?????

Reply

Marsh Posté le 07-01-2008 à 17:22:19    

Dans quelle doc ?
 
http://www.linux-kheops.com/doc/ma [...] ock.3.html

clock - Déterminer la durée d'utilisation du processeur.


Reply

Marsh Posté le 07-01-2008 à 18:36:17    

clock c moche -> gettimeofday ou QueryperformanceCoutner si tu es sous win32


Message édité par Joel F le 07-01-2008 à 18:36:28
Reply

Marsh Posté le 07-01-2008 à 18:48:35    

Euh mais surtout, c'est normal qu'on ait 0 temps CPU (ou quasi) sur un sleep(), non ? [:pingouino dei]
La fonction clock() n'est tout simplement pas faite pour ça...


Message édité par Elmoricq le 07-01-2008 à 18:48:57
Reply

Marsh Posté le 07-01-2008 à 19:38:01    

j'avais pas vu :D

Reply

Marsh Posté le 08-01-2008 à 09:19:17    

merci pour vos réponse,
en fait je travaille sous linux, donc je peux pas utiliser gettimeofday ou QueryperformanceCoutner.
comment pourrais je recuperer la duree entre deux timer avec une methode supporté par linux ????

Reply

Marsh Posté le 08-01-2008 à 09:19:17   

Reply

Marsh Posté le 08-01-2008 à 09:46:51    

Avec time(), tout simplement.
 
time(NULL) te retourne le temps actuel sous la forme du nombre de secondes écoulées depuis The Epoch (01/01/1970).
C'est pratique pour faire des comparaisons.
 
Et cette valeur, tu peux ensuite la convertir sous forme lisible, tu as plusieurs fonctions pour cela, regarde du côté de localtime() ou de strftime().

Reply

Marsh Posté le 08-01-2008 à 09:57:34    

dcsara a écrit :

merci pour vos réponse,
en fait je travaille sous linux, donc je peux pas utiliser gettimeofday


 
euh si :o c'est QPF qui est windows specific :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed