[C] Convertir chaîne de caractères en float
Stephanie
-
le père -
le père -
Bonjour,
Je ne comprends pas pourquoi mais je n'arrive vraiment pas à convertir une chaine de caractère en float.
Tout ce que je veux faire, c'est de prendre le contenu d'une chaine de caractères appelée chaine,
la convertir en nombre réels (float) puis la stocker dans un nouveau tableau, qui fait partie d'une structure.
J'ai essayé avec sscanf, atof, et atoff mais rien ne semble fonctionner.
voici mon code:
/*lire la premiere ligne du fichier*/
fgets(chaine, MAX_DIMENSION-1, ptr_fichier);
/*convertir la chaine de caractères en nombre réels*/
printf("chaine=%s\n", chaine);
while(chaine[ctr]!='\0')
{
//sscanf(chaine, "%f", ptr_copie->entete_temp);
ptr_copie->entete_temp=atoff(chaine);
ctr++;
}
J'ai vérifié que la ligne du fichier est lue et stockée correctement. Il n'y a pas de problème avec ça.
Je ne sais plus quoi essayer, et ce petit problème (pas mal stupide à mon gout lol) m'empêche de m'avancer
dans le projet que je doit compléter, meme que je commence serieusement a me frustrer :P
Merci d'avance,
Stephanie
Je ne comprends pas pourquoi mais je n'arrive vraiment pas à convertir une chaine de caractère en float.
Tout ce que je veux faire, c'est de prendre le contenu d'une chaine de caractères appelée chaine,
la convertir en nombre réels (float) puis la stocker dans un nouveau tableau, qui fait partie d'une structure.
J'ai essayé avec sscanf, atof, et atoff mais rien ne semble fonctionner.
voici mon code:
/*lire la premiere ligne du fichier*/
fgets(chaine, MAX_DIMENSION-1, ptr_fichier);
/*convertir la chaine de caractères en nombre réels*/
printf("chaine=%s\n", chaine);
while(chaine[ctr]!='\0')
{
//sscanf(chaine, "%f", ptr_copie->entete_temp);
ptr_copie->entete_temp=atoff(chaine);
ctr++;
}
J'ai vérifié que la ligne du fichier est lue et stockée correctement. Il n'y a pas de problème avec ça.
Je ne sais plus quoi essayer, et ce petit problème (pas mal stupide à mon gout lol) m'empêche de m'avancer
dans le projet que je doit compléter, meme que je commence serieusement a me frustrer :P
Merci d'avance,
Stephanie
A voir également:
- [C] Convertir chaîne de caractères en float
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Convertir epub en kindle - Guide
4 réponses
Pourquoi alors est-ce que j'obtiens un message d'erreur avec
/*lire la premiere ligne du fichier*/
fgets(chaine, MAX_DIMENSION-1, ptr_fichier);
/*convertir la chaine en double*/
ptr_copie->entete_temp=atof(chaine);
Le message d'erreur est le suivant:
"incompatible types in assignment"
est-il possible d'utiliser sscanf pour faire la conversion aussi? Si oui, commen est-ce que je l'utiliserais?
/*lire la premiere ligne du fichier*/
fgets(chaine, MAX_DIMENSION-1, ptr_fichier);
/*convertir la chaine en double*/
ptr_copie->entete_temp=atof(chaine);
Le message d'erreur est le suivant:
"incompatible types in assignment"
est-il possible d'utiliser sscanf pour faire la conversion aussi? Si oui, commen est-ce que je l'utiliserais?