1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| int main(void)
{
FILE * fic = fopen("numero.txt", "r");
float tmp = 0;
int ret = 0;
int col = 0;
int ligne = 0;
// Determiner le nombre de lignes
// Ici, je simplifie et sais que j'ai 5 lignes
// Une ligne contient 5 elements, plus simple que si 241
float mat[5][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};
// Recuperation des donnees
while( 1 )
{
if( (ret = fscanf(fic, "%f", &tmp)) != 1 )
{
puts("Que s'est il passe ?");
if( feof(fic) )
printf("Fin du fichier atteinte : erreur 'normale'");
else if( ferror(fic) )
printf("Erreur de lecture : probleme avec le fichier");
else
printf("Erreur de conversion : le fichier ne contient pas que des flottants");
break; // Terminer la boucle while(1)
}
else
{
mat[ligne][col++] = tmp;
}
if( col == 5)
{
// on connait la taille d'une ligne donc pas la peine de detecter un '\n'
col = 0;
ligne++;
}
}
// Affichage
puts("\n\n");
for(ligne=0; ligne<5; ligne++)
{
for(col=0; col<5; col++)
{
printf("| %3.3f |", mat[ligne][col]);
}
putchar('\n');
}
fclose(fic);
return 0;
} |
Partager