PDA

View Full Version : [C] Lettura numeri da file


salvodel
11-06-2008, 14:09
Salve a tutti, ho il seguente problema: devo leggere dei numeri da un file .dat generato in Fortran(anche se credo non sia importante) che ha la seguente struttura:
37.33
.343
22.87
42.81
1.3
83.35
2900

il mio programmino utilizzato in altre occasioni è:
int legge_parametri(float tempread[])
{
FILE *fdati;
int i;

if((fdati=fopen(stringa1,"r"))==NULL)
printf("\nImpossibile aprire il file");
else
{
printf("\nParametri.\n");
i=0;
while(fscanf(fdati,"%f",&tempread[i])>0)
{
printf(".");
i++;
}
printf("\n1 - Letti %d parametri.\n",i);
}
fclose(fdati);
return 1;
}
Perché l'output è questo:

Parametri.
.......
1 - Letti 7 parametri.
tempread[1]= 37.330002
tempread[2]= 0.343000
tempread[3]= 22.870001
tempread[4]= 42.810001
tempread[5]= 1.300000
tempread[6]= 83.349998
tempread[7]= 2900.000000

E' un problema di float/double? Perche quando faccio questa assegnazione
...
float kappa;
...
kappa=37.33;
mi dice
warning C4305: '=' : truncation from 'double' to 'float'
Grazie a tutti.
Ciao

banryu79
11-06-2008, 15:21
...quando faccio questa assegnazione
...
float kappa;
...
kappa=37.33;
mi dice
warning C4305: '=' : truncation from 'double' to 'float'
Grazie a tutti.
Ciao

Non so se è quello il problema ma il warnig puoi evitarlo facilmente:

float kappa;
...
kappa=37.33f;