C: convertir une chaine en float
Fermé
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
-
9 déc. 2007 à 20:47
bandito122 - 6 mai 2011 à 21:31
bandito122 - 6 mai 2011 à 21:31
5 réponses
Keff
Messages postés
304
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
22 septembre 2009
120
9 déc. 2007 à 20:49
9 déc. 2007 à 20:49
Salut,
Il faut utiliser la fonction atof() pour cela.
nombre = atof(chaine);
@
EDIT : il faut inclure stdlib.h
Il faut utiliser la fonction atof() pour cela.
nombre = atof(chaine);
@
EDIT : il faut inclure stdlib.h
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
9 déc. 2007 à 21:10
9 déc. 2007 à 21:10
voilà :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
float val;
char nom[45];
} action;
int main()
{
action titre;
float valtitre;
char valeur[10];
char nom[45];
FILE*fichier=NULL;
fichier=fopen("palmares[1].txt","r");
if (fichier!=NULL)
{
printf("============ANALYSE BOURSIERE============\n\n\tnom\tvaleur\n\n");
fseek(fichier,16216,0);
fgets(valeur,6,fichier);
fseek(fichier,15979,0);
fgets(nom,15,fichier);
printf("%s %s\n",nom,valeur);
strcpy(valeur," ");
}
fclose(fichier);
valtitre = atof(valeur);
printf("%f\n",valtitre);
system("pause");
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
float val;
char nom[45];
} action;
int main()
{
action titre;
float valtitre;
char valeur[10];
char nom[45];
FILE*fichier=NULL;
fichier=fopen("palmares[1].txt","r");
if (fichier!=NULL)
{
printf("============ANALYSE BOURSIERE============\n\n\tnom\tvaleur\n\n");
fseek(fichier,16216,0);
fgets(valeur,6,fichier);
fseek(fichier,15979,0);
fgets(nom,15,fichier);
printf("%s %s\n",nom,valeur);
strcpy(valeur," ");
}
fclose(fichier);
valtitre = atof(valeur);
printf("%f\n",valtitre);
system("pause");
}
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
9 déc. 2007 à 21:15
9 déc. 2007 à 21:15
ça ne me met pas de messages d'erreurs mais le float est tout simplement différent de la chaine "valeur".
C'est peut etre du au . et non pas à une virgule non ?
C'est peut etre du au . et non pas à une virgule non ?
Keff
Messages postés
304
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
22 septembre 2009
120
9 déc. 2007 à 21:20
9 déc. 2007 à 21:20
Fais plutot comme çà:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
float val;
char nom[45];
} action;
int main()
{
action titre;
float valtitre;
char valeur[10];
char nom[45];
FILE*fichier=NULL;
fichier=fopen("palmares[1].txt","r");
if (fichier!=NULL)
{
printf("============ANALYSE BOURSIERE============\n\n\tnom\tvaleur\n\n");
fseek(fichier,16216,0);
fgets(valeur,6,fichier);
fseek(fichier,15979,0);
fgets(nom,15,fichier); //je te fais confiance pour les adresses!
printf("%s %s\n",nom,valeur);
strcpy(valeur," "); //explique moi l'utilité de cette ligne, tu efface ta chaine avant de la convertir?
fclose(fichier);
valtitre = atof(valeur);
printf("%f\n",valtitre);
}
system("pause");
return(0); //le return est obligatoire si tu declare int main
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
float val;
char nom[45];
} action;
int main()
{
action titre;
float valtitre;
char valeur[10];
char nom[45];
FILE*fichier=NULL;
fichier=fopen("palmares[1].txt","r");
if (fichier!=NULL)
{
printf("============ANALYSE BOURSIERE============\n\n\tnom\tvaleur\n\n");
fseek(fichier,16216,0);
fgets(valeur,6,fichier);
fseek(fichier,15979,0);
fgets(nom,15,fichier); //je te fais confiance pour les adresses!
printf("%s %s\n",nom,valeur);
strcpy(valeur," "); //explique moi l'utilité de cette ligne, tu efface ta chaine avant de la convertir?
fclose(fichier);
valtitre = atof(valeur);
printf("%f\n",valtitre);
}
system("pause");
return(0); //le return est obligatoire si tu declare int main
}
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
9 déc. 2007 à 20:54
9 déc. 2007 à 20:54
merci mais ça ne fonctionne hélas pas.
Keff
Messages postés
304
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
22 septembre 2009
120
9 déc. 2007 à 21:06
9 déc. 2007 à 21:06
Comment ça?
Mets nous le morceau de code que tu utilises, stp.
Mets nous le morceau de code que tu utilises, stp.
jerémiethe7
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
9 déc. 2007 à 21:24
9 déc. 2007 à 21:24
l'utilité est nulle en effet lol.
En tout cas merci car désormais tout fonctionne.
Encore merci pour l'aide Kerff!!
Bonne soirée
En tout cas merci car désormais tout fonctionne.
Encore merci pour l'aide Kerff!!
Bonne soirée
Keff
Messages postés
304
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
22 septembre 2009
120
9 déc. 2007 à 21:27
9 déc. 2007 à 21:27
Je t'en prie.
N'oublie pas de passer le topic "en résolu".
@
N'oublie pas de passer le topic "en résolu".
@
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question