La pièce de code suivante est utilisée pour imprimer l'heure dans les journaux:
#define PRINTTIME() struct tm * tmptime; time_t tmpGetTime; time(&tmpGetTime); tmptime = localtime(&tmpGetTime); cout << tmptime->tm_mday << "/" <<tmptime->tm_mon+1 << "/" << 1900+tmptime->tm_year << " " << tmptime->tm_hour << ":" << tmptime->tm_min << ":" << tmptime->tm_sec<<">>";
7 Réponses :
Vous avez besoin d'une minuterie avec une résolution plus élevée afin de capturer des millisecondes. Essayez ceci:
int cloc = clock(); //do something that takes a few milliseconds cout << (clock() - cloc) << endl;
Hum je pense que l'horloge () renvoie une horloge_t qui représente une unité d'horloge. De plus sur Linux, il n'atteint pas une MS Precision Afaik
@neuro dans mon programme Linux, je reçois des valeurs doubles pour l'horloge ()
Les minuteries haute résolution sont généralement GETTimeOdDay sur les plates-formes de style Linux et la QueryPerformEcanceCounter sur Windows. P>
Vous devez être conscient que la synchronisation de la durée d'une seule opération (même avec une minuterie haute résolution) ne donnera pas de résultats précis. Il y a trop de facteurs aléatoires en jeu. Pour obtenir des informations de synchronisation fiables, vous devez exécuter la tâche à programmer dans une boucle et calculer le temps de tâche moyen. Pour ce type de synchronisation, la fonction Horloge () devrait suffire. P>
Pour avoir une précision de millisecond, vous devez utiliser des appels système spécifiques à votre système d'exploitation.
in Linux, vous pouvez utiliser p> sous Windows Vous pouvez utiliser: p> Bien sûr, vous pouvez utiliser boost pour le faire pour vous :) p> p> TIMEVAL code> a Precision microseconde. p>
Pour Linux, vous Devrait I> Lire heure (7 ) et probablement utiliser horloge_gettime (2) A >
Peut-être que vous pourriez fournir des en-têtes pour les fonctions?
Si vous ne souhaitez pas utiliser de code spécifique au système d'exploitation, vous pouvez utiliser le package ACE qui fournit la fonction Ce code fonctionnera quel que soit votre système d'exploitation (tant que ACE prend en charge ce système d'exploitation). P> P> ace_os :: gettimeoDay code> fonction pour la plupart des systèmes d'exploitation standard.
Par exemple:
// c ++ 11 style: em> strong>
in ubuntu 16.04 Ceci a fonctionné pour moi ... Puis, avec ... p> i get ... p>
Nouvelle réponse pour la vieille question Utilisation C ++ 11 ou C ++ 14 et cette Bibliothèque libre et open source :
2017-01-16 20:42:11.267245
duplicaté possible de Comment comment Pour obtenir l'horodatage actuel en millisecondes depuis 1970, juste la façon dont Java devient