Journal struct tm et date

Posté par  .
Étiquettes : aucune
0
17
avr.
2004
Bonjour,

Dans un petit programme, j'utilise une fonction qui intialise une structure "tm". En effet, en fonction de la date du jour, le programme doit avoir un comportement différent. Cette structure sert de paramètre à une autre fonction, qui elle crée un fichier (du genre
tmp_20040417 pour aujourd'hui).
Donc, dans le cas simple, le programme ne doit faire qu'une action simple (télécharger un seul fichier). Par contre, dans le cas compliqué, il est nécessaire de télécharger 6 fichiers.
Je pensais donc initialier une seule fois une structure tm, et réutiliser toujours la même. Malheureusement, cela ne marche pas ! Maintenant, j'ai placé ma fonction dans la boucle de traitement, cela fonctionne correctement. Je suppose donc que mon programme devait modifier le contenu de la structure, pourtant, ce n'est pas le cas !
Je me demande donc d'où vient le problème. Avez-vous déjà rencontré un
tel comportement avec tm ?

Un grand merci d'avance
  • # Re: struct tm et date

    Posté par  (site web personnel) . Évalué à 2.

    si tu ne recuperais que le pointeur renvoyé par localtime ou gmtime, c'est un pointeur sur une variable statique quelque part dans la glibc, donc si il y a d'autres appels à ces fonctions dans ton code ou dans une lib, le contenu du bouzin sera modifié, il faut que tu recopies tout dans une struct tm locale à ton programme (par ex. en utilisant localtime_r ou gmtime_r)
    • [^] # Re: struct tm et date

      Posté par  . Évalué à 1.

      Un grand merci. OK, je vais modifier mon code en conséquence de ce comportement.
      Encore merci...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.