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

C++ Discussion :

time(NULL) pour WinCE


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    F�vrier 2010
    Messages
    103
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2010
    Messages : 103
    Par d�faut time(NULL) pour WinCE
    Bonjour,
    J'ai besoin de r�cup�rer le nombre de seconde depuis 1970 dans un projet WinCE.
    Cependant la fonction time(NULL) fonctionne pour win32 et linux mais pas pour WinCE.
    Est ce que quelqu'un peut m'aider.
    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Google a r�pondu � ma place :

    http://www.opennetcf.com/SharedSourc...7/Default.aspx

    Qui pointe sur :

    http://time.codeplex.com/

    Les noms des fonctions et types sont postfix�s avec _ce pour �viter les probl�mes de red�finition.
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    D�tails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par d�faut
    Il manque en effet pas mal de fonction de la biblioth�que standard C sur Windows CE et c'est souvent bien p�nible lorsqu'on veut utiliser du code provenant d'Unix.

    Perso, j'avais utilis� http://wcelibcex.sourceforge.net/ il y a quelques temps et n'avais pas rencontr� de probl�me (mais je n'avais pas test� les fonctions time non plus)

    En tout cas, attention si tu choisis d'�crire la fonction time � la main : le pi�ge �tant que �a semble tr�s simple � faire � premi�re vu - la structure windows FILETIME repr�sente le nombre de centaines de nanosecondes depuis le 1 janvier 1601, epoch le nombre de seconde depuis 1970, donc une simple soustraction semble r�gler le probl�me - mais c'est en fait plus compliqu� que �a car des probl�mes de timezone assez p�nible rentrent en jeu.

  4. #4
    Membre confirm�
    Inscrit en
    F�vrier 2010
    Messages
    103
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2010
    Messages : 103
    Par d�faut
    Merci Emmanuel Deloget et arzar pour vos r�ponses.
    Effectivement vous avez raison il y a des commandes standard C non support� par WinCE.
    Il fallait les impl�menter ou trouver des librairies pour �a.
    En fait j�ai besoin de faire une comparaison entre deux instants pour voir est ce que un timeout est �coul� ou non.
    Pour �a j�ai besoin de r�cup�rer deux temps en seconde.
    J�ai trouv� une fonction dans MSDN que je pence satisfaire mon besoin.

    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
    time_t time( time_t *inTT ) { 
     SYSTEMTIME sysTimeStruct; 
     FILETIME fTime; 
     ULARGE_INTEGER int64time; 
     time_t locTT = 0; 
     
     if ( inTT == NULL ) { 
       inTT = &locTT; 
     } 
     
     GetSystemTime( &sysTimeStruct ); 
     if ( SystemTimeToFileTime( &sysTimeStruct, &fTime ) ) { 
       memcpy( &int64time, &fTime, sizeof( FILETIME ) ); 
       /* Subtract the value for 1970-01-01 00:00 (UTC) */ 
       int64time.QuadPart -= 0x19db1ded53e8000; 
       /* Convert to seconds. */ 
       int64time.QuadPart /= 10000000; 
       *inTT = int64time.QuadPart; 
     } 
     
     return *inTT; 
    }
    �galement vos propositions peuvent r�soudre le probl�me.
    Encore merci pour l�aide.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [insertion]0 et non NULL pour un champ real
    Par Tchinkatchuk dans le forum PostgreSQL
    R�ponses: 10
    Dernier message: 12/07/2005, 18h19
  2. R�ponses: 2
    Dernier message: 15/03/2005, 09h13
  3. [VB.NET] Valur null pour une date.
    Par Lois dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 20/12/2004, 14h38
  4. visual c++ mais que pour winCE
    Par julienx dans le forum MFC
    R�ponses: 2
    Dernier message: 10/11/2004, 19h25
  5. R�ponses: 9
    Dernier message: 10/08/2004, 17h13

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