Bonjour,
Je souhaite saisir les valeurs numeriques d'un fichier .dat, mais je sais pas de combien de ligne est composer mon fichier.
Voici le code que j'ai utiliser. La saisi des lignes fonctionne avec ma boucle for mais la condition du while ne fonctionne. Je trouve plein de documentation, la n'est pas le probleme, au contraire je suis un peu perdu. j'utilise Visual C++ 2005 Express et voici ma fonction de lecture de fichier:
J'ai essayer cette condition dans le while "file2.eof()" mais elle ma donner une erreur de compilation. J'ai oublier de preciser, je sais que j'ai vingt chiffre par ligne separer par des espaces mais je ne sais pas quelle place il prenne en octet. voici un exemple des quatres derniere lignes d'un de mes fichiers.
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
19
20
21
22
23
24
25
26
27
28
29
30
31 int LireFichier(int TOC[200][200], char namefile[68]) { int NbLineMax=150; FILE* file = NULL; int *var = (int*) malloc (20); char *chaine = (char*) malloc (20); int Nb_ligne=-1; int som; int TabLine[150][20]; file = fopen(namefile, "rt"); //printf(" start \n"); if (file != NULL) { while (fgets(chaine, NbLineMax, file) != NULL ) { som=0; for (int c=0;c<20;c++) { fscanf(file,"%d",&var[c]); som=som+var[c]; //printf("%i : %d\n ",c,var[c]); // On affiche la chaîne qu'on vient de lire TOC[Nb_ligne][c]=var[c]; } //printf(" somme = %d \n",som); Nb_ligne++; } } fclose(file); return Nb_ligne; }
lenombre de ligne va entre 13 et 106 pour info.
Si vous avez une solution a mon probleme ou un lien vers un lien vers une page ou je pourrai trouver la solution (bien expliquer).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 42 -76 34 3 187 -76 34 14 67 -70 34 5 0 0 0 0 0 0 0 0 61 53 0 3 86 91 68 3 69 118 124 2 84 135 112 2 46 52 11 4 121 283 326 11 138 284 315 12 163 285 315 14 97 289 349 8 30 326 0 1 105 99 169 11 53 103 180 5 104 117 169 8 45 159 180 1 17 180 180 0
Merci d'avance pour vos multiple reponses ;-)
Partager