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!