Bonsoir,
Merci de m'aider à faire mieux, j'ai pas tout compris et ma solution n'est pas optimum :
La trame d'origine contient les jour, mois, année, heure, minute et seconde, mais pas le jour de l'année.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 nmea.now=mktime(&rmc.tv); nmea.tv=*gmtime(&nmea.now);
Partager