struct tm mktime et gmtime
Bonsoir,
Merci de m'aider à faire mieux, j'ai pas tout compris et ma solution n'est pas optimum :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
typedef struct s_nmea {
struct tm tv;
time_t now;
} t_nmea;
t_nmea nmea;
nmea.tv=rmc.tv;
nmea.now=mktime(&rmc.tv);
nmea.tv.tm_yday=((struct tm *)(gmtime(&nmea.now)))->tm_yday;
/* ou mieux quand on est pas fatigué */
nmea.tv.tm_yday=gmtime(&nmea.now)->tm_yday; |
La trame d'origine contient les jour, mois, année, heure, minute et seconde, mais pas le jour de l'année.
Par les deux fonctions, mktime et gmtime, j'obtiens ainsi le jour de l'année facilement.
Mais comme nmea.tv n'est pas un pointeur, je ne peux pas lui affecter directement le résultat de gmtime et passer une structure pointée dans la structure fixe.
Ce que j'ai fait fonctionne, mais bof.
Auriez-vous mieux (surement) à me proposer ?
Merci pour votre aide.
Edit :
Je m'auto-réponds, très fatigué hier soir !
Code:
1 2 3
|
nmea.now=mktime(&rmc.tv);
nmea.tv=*gmtime(&nmea.now); |