Un saluto a tutti,
Ho un problema che non riesco a risolvere e mi servirebbe il vostro aiuto.
In pratico ho un file di testo costituito da un elenco(di lunghezza non nota) di valori double.
Es:
0.9999999960
1.0000000000
0.9727250796
1.0000000000
1.0000000000
0.9999136817
.....
Io devo leggere questi valori ed inserirli in un array.
codice:
#include <stdio.h>
#include <unistd.h>
main( )
{
double *prob,PROB;
char DUMMY_CHAR;
// apro file.txt
FILE *f = fopen("file.txt","r");
// conto il num. di righe
int cont=0;
while (fscanf(f,"%c",&DUMMY_CHAR)!= EOF)
if (DUMMY_CHAR=='\n')
cont++;
// alloco array dinamicamente
prob = (double *)malloc(cont * sizeof(double));
int j;
j=0;
// lego da file.txt i valori, li inserisco nell'array e li stampo a video.
while (!feof(f)){
fscanf(f,"%lf \n",&PROB);
prob[j]=PROB;
printf("%-1.10lf \n",prob[j]);
j++;
}
fclose(f);
}
Eseguendo non mi stampa niente ed esce.
Immagino che il problema sia nel while e nel fscanf/printf.
E' da un pò che non prendo in mano il c....
Grazie mille a tutti!