Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: gonzalo_C en 20 Febrero 2012, 17:32 pm



Título: Leer fichero csv
Publicado por: gonzalo_C en 20 Febrero 2012, 17:32 pm
Hola,

estoy realizando un pequeño programa que lee un fichero csv, una vez leida la cabecera y todo, llamo a la siguiente función:

Código:
int Lee_Estacion_csv(AEMET_estacion*s, FILE *in, const char *delim)

*s es la estructura donde voy a guardar lo que lea.

*in es el fichero en formato lectura.

* delim es una cadena : ";"   que son los separadores de los campos.


lo que hago es guardar toda una linea en una cadena y luego con strtok y los delim pues voy guardandolo en s.

Bueno el problema es el siguiente:

cuando va a leer la linea del fichero csv:

1387;A CORUÑA;A CORUÑA;58;8.1;12:00;5.8;19:20;12.8;11:20;0.0

hago lo siguiente:


Código:
fscanf(in, "%s", cad);

y cad queda así: "1387;A"

por lo que veo cuando encuentra un espacio deja de leerla.
¿como puedo evitar esto?