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 :

<windows.h> LocalTime Fonctionnement ?


Sujet :

C

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut <windows.h> LocalTime Fonctionnement ?
    Bonjour bonjour

    Alors cette fois, je viens vers vous pour savoir si on pouvais me renseigner sur le fonctionnement de la lib <windows.h>, et plus particulièrement de sa fonction "GetLocalTime()".

    Pourquoi ? Parce que dans un programme perso, alors que je souhaitais écrire dans un fichier le moment précis où j'ai saisie les données en question (voyez ça comme un fichier "historique.txt"), j'ai eu la surprise de voir que selon le système, j'ai pu saisir 4 fois une rangée de donnée en 1sc !

    Vous vous imaginez bien que je n'ai pas pu faire ceci aussi rapidement, en revanche, faire le tout dans 1min oui.
    Mais ça me pousse à me demander comment est agencé le système de récupération de secondes ...

    La fonction ne doit pas être assez rafraichie ou quoi ... mais si c'était le cas, je n'aurait pas changement de valeur pour les minutes non plus or c'est le cas ...
    Est-ce une question en relation avec l'architecture de mon ordinateur ? de la puissance de celui ci ... des processeurs ....

    Exemple de code :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    /** DATE ET HEURE LOCALE -- WINDOWS **/
        SYSTEMTIME Time;
     
        GetLocalTime(&Time);
     
        printf("Nous sommes le : %02d/%02d/%04d.\n", Time.wDay, Time.wMonth, Time.wYear);
     
        printf("Et il est : %02dh %02dmn %02ds %03dms.\n", Time.wHour, Time.wMinute, Time.wSecond, Time.wMilliseconds);
    /** Fin des instructions de date - WINDOWS **/
     
     
    /***** skips steps *****/
        case 2 :
     
                printf("\n Saisissez le code d'activation de la porte des etoiles : "); scanf("%d", &code1);
                if (code1 == code){
                printf("\n\n \4 Code CORRECT !\n Saisissez la combinaisons de glyphes, sous la forme suivante :\n\t1-8-16\n\n\t: ");
                scanf("%d-%d-%d", &val1, &val2, &val3); printf("\n\t - %s\n\t - %s\n\t - %s\tVoici les glyphes selectionnes\n  La porte est active !\n\n", nomGlyphe[val1], nomGlyphe[val2], nomGlyphe[val3]); nb_write++;
                    }
                fichier = fopen(nomFichier, "a");
                printf("\n\t\4 Tentative d'ouverture du fichier 'historique.txt'");
     
                        if (fichier != NULL)
                        {
                            printf("\n\t\4 Ouverture du fichier 'historique.txt' : REUSSIE");
                            fprintf(fichier, "\n\n Combinaisons du [%02d/%02d] A %02dh %02dmn %02ds :\n\t\t %s[%d] || %s[%d] || %s[%d]", Time.wDay, Time.wMonth, Time.wHour, Time.wMinute, Time.wSecond, nomGlyphe[val1], val1, nomGlyphe[val2], val2, nomGlyphe[val3], val3);
                            fclose(fichier);
                            printf("\n\t\4 Mis-A-Jour du fichier 'historique.txt' : REUSSIE\n\n");
                            break;
                        }
     
                            else{
                                /**  On affiche un message d'erreur si on veut **/
                                printf("\n\n\4 Ouverture du fichier ' %s ' : ECHEC\n\n", nomFichier);
                                break;
                                }
     
                if(code1 != code) {
                printf("\n  \4 Le code d'activation semble mauvais ... "); break;
                }
                break;
    /****** end skips steps *******/
    ps : ne soyez pas surprit de ne pas voir la fonction main, j'ai volontairement sauté des étapes pour aller au fait (et non je ne commence pas mes programmes par "case 2" ).

    Merci d'avance pour vos réponses

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Points : 168
    Points
    168
    Par défaut
    Citation Envoyé par Ojiuiookojbezib Voir le message
    je souhaitais écrire dans un fichier le moment précis où j'ai saisie les données en question (voyez ça comme un fichier "historique.txt")

    Fais un GetLocalTime(&Time); après tes scanf (avant ton fprintf)

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Merci magma. Problème réglé.
    Le problème était tellement c** ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Le problème était écrit dans la doc, surtout.

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
    To retrieve the current date and time in Coordinated Universal Time (UTC) format, use the GetSystemTime function.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/08/2007, 13h19
  2. explorateur windows a cessé de fonctionner
    Par jeanmorel dans le forum Windows Vista
    Réponses: 3
    Dernier message: 09/07/2007, 21h02
  3. [Internet Explorer] window.location.replace ne fonctionne pas
    Par Gat- dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2007, 13h15
  4. window.history.forward() ne fonctionne pas sous FF
    Par khokho dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/01/2007, 18h01
  5. [WINDOWS CE]WriteProfileString ne fonctionne pas
    Par protonos dans le forum MFC
    Réponses: 17
    Dernier message: 13/05/2005, 19h58

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