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 :

fonction qui renvoie la date de la dernière modification d'un fichier


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut fonction qui renvoie la date de la dernière modification d'un fichier
    Bonjour à tous,
    j'ai des warnings j'arrive pas à identifier le problème d'ou, mais apparemment c'est localtime il attend un parametre (const time_t * ), Avez-vous une idée qu'est ce que je dois remplacer ?

    attention : passing argument 1 of ‘localtime’ makes pointer from integer without a cast [enabled by default]
    /usr/include/time.h:237:19: note: expected ‘const time_t *’ but argument is of type ‘time_t’
    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
    time_t date_modification(char *file){
      struct stat st;
      if ( stat(file, &st) < 0 ){
        perror("stat() in type_fichier: \n");
      }
      return st.st_mtime;
    }
     
    // j'ai une autre fonction que j'utilise pour comparer la date de deux fichier 
    int comparer_date(fichier1,fichier2){
      ...
      struct tm *tm_src ;
      tm_src = localtime(get_date_modification(fichier1)) // ici! !!
      ...
    }

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    localtime() demande en argument un const time_t *, donc un pointeur. Le message d'erreur dit qu'il reçoit un entier, donc get_date_modification(fichier1) retourne un entier. Probablement que le prototype de cette fonction est inconnu à ce moment ou ce n'est pas la bonne fonction.
    Est-ce get_date_modification(fichier1) ou date_modification(fichier1) qui doit être utilisé ?

    Si c'est le second, date_modification(fichier1) renvoie un time_t mais l'argument de localtime() doit être un time_t *. Il faudra donc stocker le renvoi de date_modification() dans un time_t et passer l'adresse de ce time_t à la fonction.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Oui, il s'agit du deuxième cas (date_modification(fichier1)), faute de frappe.
    C'est réglé en passant l'adresse à localtime.
    Merci bien

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

Discussions similaires

  1. Date de la dernière modification d'un fichier
    Par rambc dans le forum Général Python
    Réponses: 17
    Dernier message: 25/08/2013, 13h03
  2. Fonction qui renvoie la dernière valeur d'une plage
    Par brunoSCP dans le forum Excel
    Réponses: 5
    Dernier message: 12/02/2010, 17h53
  3. [Dates] Fonction qui renvoie un nombre en deux chiffres
    Par hicham285 dans le forum Langage
    Réponses: 5
    Dernier message: 29/11/2007, 14h01
  4. Fonction utilisateur qui renvoie la date du jour
    Par falcon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2004, 11h03
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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