Un grand bonjour à tous,

J'essaie de programmer une petite fonction pour lire un tableau de donnée dans un fichier texte. J'essaie de rester avec des fonctions simples que je maitrise, c'est à dire ne pas utiliser fgets.

Mon fichier texte est le suivant (très simple) :
1988.0 4.5 29.5
1990.1 2.2 30.5

Dans mon code je rassemble les données dans 3 tableaux de 2 éléments chacun :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
int main(void)
{
    int i;
    float E1[3],E2[3],E3[3];
 
    FILE* f=NULL;
    f=fopen("test.txt", "r"); //ouverture en lecture
    if (f!=NULL)
    {
        fscanf(f, "%f %f %f %f %f %f", &E1[1],&E2[1],&E3[1],&E1[2],&E2[2],&E3[2]);//on lit le fichier
        fclose(f);  // fermer le flux
    }
        fprintf(stdout,"%f %f %f\n",E1[1],E2[1],E3[1]);
        fprintf(stdout,"%f %f %f\n",E1[2],E2[2],E3[2]);
 
    return 0;
}
A l'impression je récupère :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
1988.000000 4.500000 29.500000
1990.099976 2.200000 30.500000
c'est à dire une petite erreur sur le premire chiffre de la deuxième ligne. Je ne suis en fait pas étonnée car je pense qu'il faut une info particulère au code pour lui indiquer qu'il faut changer de ligne.... Mais quoi ?

Merci,
L.