Rechercher : dans
Par :

[C] Convertir chaîne de caractères en float

Dernière réponse le 28 nov 2007 à 22:26:49 Stephanie, le 28 nov 2007 à 04:52:32 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [C] Convertir chaîne de caractères en float » dans :
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Les constructeurs et les destructeurs en langage C++ VoirLa notion de constructeur Le constructeur est la fonction membre appelée automatiquement lors de la création d'un objet (en statique ou en dynamique). Cette fonction membre est la première fonction membre à être exécutée, il s'agit donc d'une...

2

lami20j, le 28 nov 2007 à 07:31:00
  • +1

Salut,

la fonction s'appelle atof et pas atoff

ptr_copie->entete_temp=atof(chaine);

lami20j

Répondre à lami20j

3

le père, le 28 nov 2007 à 08:03:35

Bonjour,

et la boucle while est inutile, elle va recommencer 36 fois la même conversion, c'est tout

Répondre à le père

5

Stephanie, le 28 nov 2007 à 18:42:44

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?

Répondre à Stephanie

6

 le père, le 28 nov 2007 à 22:26:49

Sur quelle ligne le message d'erreur ?
Quel est le type de entete_temp ?

Répondre à le père