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ú

Temas - gonzalo_C

#1
Programación C/C++ / Leer fichero csv
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:

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:


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?
#2
Programación C/C++ / Funcion y puntero
8 Febrero 2012, 22:40 PM
Hola,

Llevo unos dias intentado resolver este pequeño problema, y he decidido postear aqui a ver si podeis ayudarme.

Tengo esta funcion:

BOOL buscarElementoEnObjeto(const ELEMENTO *elem, const OBJETO *obj)

Tiene como parametros un puntero a elem (que es un entero), y un puntero a una estructura que se llama OBJETO:

typedef struct {
   ELEMENTO elem;
   unsigned int repes;
} OBJETO;

lo que hace es eterminar si un elemento se encuentra en un objeto.


Vale, luego en otro lado tengo:

int buscarObjetoEnMulticnj(const ELEMENTO *e, const MULTICNJ *mc)

que tiene como argumentos un puntero a un elemento (un entero) y un muntero a la estructura MULTICNJ:

typedef struct {
   OBJETO OBJETOS[MAX_OBJS];  
   unsigned int n_objs, card;
} MULTICNJ;


lo que hace es buscar un elemento en un multiconjunto y devuelve el indide del array donde se encuentra o -1 si no se encuentra.

Mi duda es la siguiente:

Si quiero acceder a la primera funcion desde la segunda como debo de hacerlo, ya que he de meter la direccion de un array de objeto, yo he intentado:

buscarElementoEnObjeto(e, mc.OBJETOS[i])


donde i es un entero, pero no he conseguido hacerlo funcionar.

como he de meter la direccion de OBJETOS en la funcion?


Gracias.