"...Haciendo esto, no consigo que se almacenen los números, ni siquiera el año...."
El año si que lo guarda (y el mes y el dia), pero cuando intenta guardar el E1 se produce una violacion de segmento y ya nunca llega a intentar guardar F1:
Código C:
Ver originalint E1[3000];
float F1[3000];
fscanf(f1
, "%d-%d-%d %d %f\n", &ano
, &mes
, &dia
, E1
, F1
);
fscanf espera un puntero a la posicion de memoria donde quieres leer el dato; observa la diferencia de tu codigo con la siguiente linea:
De esta forma para el primer fscanf usas E[0], para el segundo E[1], para el tercero E[2], etc... ya ves como funciona; y para los F igual.
Otra cosa, como tienes el archivo, siempre hay una linea de E1,F1 seguido de una F2? O pueden estar intercaladas de forma aleatoria?
Aun otra cosa, estas reservando memoria para 3000 enteros y 6000 flotantes; es necesario? Has trabajado con memoria dinamica? De esta forma puedes ampliar las listas cuanto sea necesario sin limitar ni exagerar. Has trabajado tambien con estructuras? Con eso y la memoria dinamica puedes implementar listas de estructuras con todos los datos de cada lectura.
Resuelve primero lo de la violacion de segmento.
Saludos
vosk