Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - javiepe

#1
Entendido! Ya me ha salido por fin! Os agradezco mucho a los dos vuestra ayuda, era muy importante que pudiese resolver esto para poder seguir.

Saludos!
#2
Gracias, ya me ha quedado claro lo de las lecturas del scanf.

Respecto a fgets aún hay un matiz que no me queda claro. En el ejemplo que pones, ¿se guarda el fichero por completo en "char linea"? Es decir, ¿linea(1) sería la primera línea del fichero, linea(2) la segunda, y así sucesivamente? Planteado de otra forma; ¿cuando hacemos fgets lee el fichero?

Saludos!
#3
Muchas gracias a los dos, ya me va quedando todo más claro, pero todavía tengo una duda. Resulta que en el fichero que tengo, además de estas fechas con los números posteriores, hay una línea en la que pone "Observaciones" y otra en la que pone "Predicciones", y me está dando error al implementar vuestros programas. Más concretamente, no sé qué significan esos ==1, ==2.... que ponéis después de las funciones scanf, así que no sé cómo añadir el caso en el que una línea pueda ser  "Observaciones" o "Predicciones".

Además, también tengo dudas en cómo almacenar el fichero en el vector "linea" utilizando fgets para poder después procesarlo con sscanf.

Os agradezco de nuevo toda la ayuda, ya os digo que tengo bastante soltura en Fortran, pero que estoy bastante perdido en la forma de leer datos de C.
#4
Buenas,

estoy bastante acostumbrado a programar en Fortran, pero ahora tengo un proyecto en el cual debo programar en C, y aunque tengo en mente cómo hacer el programa, me falla el proceso de lecturas de datos desde un fichero.

Tengo un fichero en el cual hay dos tipos de datos. El primer tipo tiene el siguiente formato:

AAAA-MM-DD E F

(AAAA es año, MM es mes, DD es día, E es un número entero, y F uno decimal)

El segundo tipo es muy parecido:

AAAA-MM-DD F


A mí me interesa leer los números E y F del primer grupo de datos, guardándolos en dos vectores, y leer el número F del segundo grupo de datos, guardándolo en otro vector. Aquí es donde surge mi problema.

Estoy intentando hacer esto utilizando la función fscanf, escribiendo estos dos comando después de delcarar variables y abrir los ficheros:

fscanf (f1, "%d-%d-%d %d %f\n", &ano, &mes, &dia , E1, F1);
fscanf (f1, "%d-%d-%d %f\n", &ano, &mes, &dia, F2);

He declarado E1(3000), F1(3000) y F2(3000) asegurándome de que son suficientemente grandes para almacenar todos los números que hay en el fichero.

Haciendo esto, no consigo que se almacenen los números, ni siquiera el año. No sé si la función fscanf se utiliza así o no.

Agradecería cualquier ayuda, ya que tengo el algoritmo básico en mente, pero no puedo aplicarlo por culpa de que no sé cómo leer el fichero.

Muchas gracias.