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.
Eseguendo non mi stampa niente ed esce.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); }
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!
![]()
![]()
![]()

Rispondi quotando