Estoy haciendo un programa donde, en una parte, estoy tratando de leer los datos de un fichero de texto y guardarlos en un vector, pero no consigo que me lea los datos "bien". Esto es el segmento de código donde creo que está el error.
Código:
if ((magnet=fopen("magnetizaciones.txt","rt"))==NULL) //abrimos el fichero magnetizaciones.txt
{
printf("error en fichero %s \n","magnetizaciones.txt");
exit (1);
}
for (i=0;i<n;i++)
{
fscanf(magnet,"%f",&magnetizaciones[i]);
printf("%f\n",magnetizaciones[i]);
}
{
printf("error en fichero %s \n","magnetizaciones.txt");
exit (1);
}
for (i=0;i<n;i++)
{
fscanf(magnet,"%f",&magnetizaciones[i]);
printf("%f\n",magnetizaciones[i]);
}
(Las variables int n, int i,FILE *magnet, double magnetizaciones[1000] están declaradas anteriormente. La variable n justo antes del segmento de código que he puesto vale 100).
El fichero magnetizaciones tiene guardados 100 números decimales en una columna:
0.011800
-0.003600
-0.002200
0.002200
...
En lugar de imprimirme por pantalla los números del fichero, me saca números muy grandes algo diferentes entre sí. Algo así:
-957650000000000
-957645000000000
-957634500000000
...
¿Alguien sabe donde puede estar el error? Creo que debo estar usando mal la función scanf pero no sé por qué.
Muchas gracias por adelantado!