#include <time.h> // <ctime> en C++
struct timespec { time_t tv_sec; // nombre de secondes long tv_nsec; // nombre de nanosecondes };
Cette structure permet de définir un interval exprimé en secondes et en nano-secondes. Elle a été introduite en C ISO 2011.
L'exemple de code proposé ci-dessous capture le temps présent dans une structure timespec puis l'affiche sur la console avec une précision à la nano-seconde.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <stdio.h> #include <stdlib.h> #include <threads.h> #define BUFFER_SIZE 50 int main() { // On capture le temps actuel. struct timespec now; timespec_get( &now, TIME_UTC ); // On transforme la partie exprimée en seconde en une chaîne de caractères. char strNow[ BUFFER_SIZE ]; strftime( strNow, BUFFER_SIZE, "%D %T", gmtime( &now.tv_sec ) ); // On affiche le temps avec une précision à la nano-seconde printf( "Current time: %s.%09ld UTC\n", strNow, now.tv_nsec ); return EXIT_SUCCESS; } |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :