Caractere dans structure après lecture fichier Ini
Jeff_Trek
Messages postés30Date d'inscriptionjeudi 13 octobre 2005StatutMembreDernière intervention 7 juillet 2006
-
14 oct. 2005 à 18:47
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
16 oct. 2005 à 19:51
je sais que ma question va vous sembler stupide mais je débute en C/C++.
j'ai une structure en global :
struct STRUCT_POSITION_GONIO
{
int intNum; // Numéro du Gonio
char strLettre[1]; // Lettre ou Num du Gonio (Conversion Anglaise)
char strLatitudeHex[8];
int intLatitudeDeci;
char strLongitudeHex[8];
int intLongitudeDeci;
};
STRUCT_POSITION_GONIO Position_Gonio1[1]={0};
Je lis un fichier INI pour la remplir. A la fin de ma lecture je met la valeur dans : Position_Gonio1->intNum=atoi(tmpVal)
Le résultat est bon.
Mais si je fais une autre lecture pour un autre membre de ma structure, cela change la valeur de Position_Gonio1->intNum (tout en gardant la premiere lettre qui est bonne ??).
Avant Position_Gonio1->intNum X, Après Position_Gonio1->intNum XDF51DC qui correspond à Position_Gonio1->strLatitudeHex que je vient lire après.
Est ce ke cela vient de ma déclaration, j'ai du mal à comprendre
J'espère que je suis assez clair.
Sinon comment fait on pour récupérer le premier caractère d'une chaîne.
Merci d'avance.
Jeff.
A voir également:
Caractere dans structure après lecture fichier Ini
Jeff_Trek
Messages postés30Date d'inscriptionjeudi 13 octobre 2005StatutMembreDernière intervention 7 juillet 2006 16 oct. 2005 à 18:42
salut,
voila comment je lis ma variable.
J'utilise char strLettre[1]; et STRUCT_POSITION_GONIO Position_Gonio1[1] car je n'arrive pas à faire autrement. (je programmais en VB avant et la je suis un peu perdu.)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 oct. 2005 à 19:51
typedef struct _STRUCT_POSITION_GONIO {
int intNum; // Numéro du Gonio
char strLettre; // Lettre ou Num du Gonio (Conversion Anglaise)
char strLatitudeHex[8];
int intLatitudeDeci;
char strLongitudeHex[8];
int intLongitudeDeci;
} STRUCT_POSITION_GONIO;
strcpy(Position_Gonio1.strLettre,tmpVal);
sauf que c'est IMPOSSIBLE, strLettre ne fait qu'1 seul octet, on ne fait pas un strcpy car il n'y aurait que la place du terminateur NULL de chaine.