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
| #include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
char ligne[81];
float maille[200];
unsigned int ind;
float valeur;
// Ouvrir fichier
fp=fopen("sourceO.txt", "r");
if (fp == NULL)
{
perror("Erreur ouverture sourceO.txt");
exit(1);
}
// Lire fichier ligne à ligne
while (fgets(ligne, 81, fp) != NULL)
{
// Récupérer indice et valeur
if (sscanf(ligne, "%u\t%g", &ind, &valeur) != 2)
{
char *pt;
// Suppression retour charriot s'il y est (juste pour l'affichage de la ligne)
if ((pt=strchr(ligne, '\n')) != NULL)
*pt='\0';
fprintf(stderr, "Erreur analyse ligne [%s]", ligne);
continue;
}
// Positionnement valeur dans maille[indice] - Attention, en C un tableau commence à 0 alors que le fichier semble faire commencer l'indice à 1...
maille[ind - 1]=valeur;
}
// Fermeture fichier
fclose(fp);
// Vérification contenu du tableau
for (ind=0; ind < 200; ind++)
printf("maille[%d]=%g\n", ind, maille[ind]);
} |
Partager