miles teg aka blOp | Salut les gens, On a un petit souci de lecture de fichier, voilà la gueule du fichier :
Code :
- -1 1 200
- -1 1 200
- 0 0.327195 0.61837 0.841471 0.971938 0.995408 0.909297 0.723086 0.457273 0.14112
|
Etc .. les valeurs continuent, il y en 40 000.
Voilà le code censé les lire :
Code :
- pas calculdata(char filename[])
- {
- int i,j,k;
- FILE *monfichier;
- int xmin,xmax,ymin,ymax;
- pas nb;
-
- monfichier = fopen(filename, "r" );
- if (monfichier == NULL) {
- printf ("Impossible d'ouvrir le fichier '%s'\n", filename);
- exit(1);
- }
-
- fscanf ( monfichier, "%d",&xmin);
- fscanf ( monfichier, "%d",&xmax);
- fscanf ( monfichier, "%d",&nb.nbpasx);
- fscanf ( monfichier, "%d",&ymin);
- fscanf ( monfichier, "%d",&ymax);
- fscanf ( monfichier, "%d",&nb.nbpasy);
- printf("%d %d %d %d %d %d\n",xmin, xmax, nb.nbpasx,ymin,ymax,nb.nbpasy);
- double data[nb.nbpasx*nb.nbpasy];
-
- for ( i = 0 ; i < nb.nbpasx ; i ++ ){
- for ( j = 0 ; j < nb.nbpasy ; j ++ ){
- k = i* nb.nbpasy +j;
- /* printf("%d\n",k); */
- fscanf ( monfichier, "%lf",&data[k]);
- printf("%lf\n" ,data[k]);
- fclose(monfichier);
-
- /* printf("%d %d -> %g\n",i, j, data[k]); */
- }
- }
- return nb;
- }
|
Voilà .. je suis un gros newbie en C et c'est un mini-projet à la con, mais ça bug et on trouve pas pourquoi, il lit les valeurs n'importe comment.
Si vous voyez un bug évident là-dedans, on est preneurs. |