IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Manipuler le temps en milliseconds


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 52
    Points : 47
    Points
    47
    Par défaut Manipuler le temps en milliseconds
    Bonjour,

    Je voudrais faire des calculs en millisecondes. Pour cela je voudrais manipuler un combre qui contients le nombre de milliseconde ou microseconde depuis 1970.
    Mes premiers test me donne des resultats bizarre. Quelqu'un peut m'indiquer où je me trompe (le plus ) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     #include <stdio.h>
    #include <stdlib.h>
    #include <time.h> // Pas necessaire ?
     
    /*
     * 
     */
    int main(int argc, char** argv) 
    {
        struct timeval tv;
     
     
        printf( "Test 1 : %d\n" , 15 );
     
        gettimeofday(&tv, NULL);
        printf("Ce que je voudrais : %010ld%06ld\n", tv.tv_sec, tv.tv_usec);
        printf("Ce que j'ai        : %lld\n", (tv.tv_sec*1000000) + tv.tv_usec);
     
        unsigned long long test = (tv.tv_sec*1000000) + tv.tv_usec ;
     
        printf("?? : %lld \n", test );
     
        return (EXIT_SUCCESS);
    }
    Le résultat est aléatoire ...

    Test 1 : 15
    Ce que je voudrais : 1209026067586671
    Ce que j'ai : 2519734122208879
    ?? : 1363697263

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 52
    Points : 47
    Points
    47
    Par défaut
    Il fallait caster lors du calcul sinon ça reste en long

    unsigned long long test = ( (long long)(tv.tv_sec) *1000000) + tv.tv_usec ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipulation du temps
    Par rirou dans le forum Réseau
    Réponses: 14
    Dernier message: 28/03/2007, 21h49
  2. obtenir le temps en milliseconde sous vc++ 2005
    Par radicalrider dans le forum Visual C++
    Réponses: 2
    Dernier message: 01/08/2006, 00h20
  3. Temps en millisecondes
    Par JLauener dans le forum C++
    Réponses: 8
    Dernier message: 10/05/2006, 19h42
  4. Formater un temps en millisecondes
    Par TheDarkLewis dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/09/2004, 18h50
  5. Réponses: 8
    Dernier message: 18/09/2002, 03h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo