Fscanf ne fait pas ce que je veux ...

Résolu
tichadok Messages postés 2 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 6 juin 2005 - 5 juin 2005 à 23:56
tichadok Messages postés 2 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 6 juin 2005 - 6 juin 2005 à 14:48
Bonjour,



voici mon problème condensé dans ce bout de code :



un fichier fic.txt contient :

2.0

3.0



un fichier lect.c contient :



#include <stdio.h>

int main(void){

int nb_lus;

float ech;

FILE *son;

son = fopen("fic.txt","r");

nb_lus=fscanf (son,"%d",&ech);

while (nb_lus==1){

printf("%f\n",ech);

nb_lus=fscanf (son,"%f",&ech);

}

return 0;

}



et voici l'affichage une fois compilé :

0.000000

0.000000

3.000000



alors que je m'attends à avoir l'affichage suivant:

2.000000

3.000000



Quelqu'un a une idée pour me débloquer ?

Merci beaucoup
A voir également:

2 réponses

JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
6 juin 2005 à 01:24
nb_lus=fscanf (son,"%f",&ech);



et non



nb_lus=fscanf (son,"%d",&ech);



avant ta boucle puisque tu lis des floats


@++


<hr>

Every problem has a solution. The difficulty is to find it out.
3
tichadok Messages postés 2 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 6 juin 2005
6 juin 2005 à 14:48
merci!
0
Rejoignez-nous