Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2014, 13:30
Banshi
Invitado
 
Mensajes: n/a
Puntos:
Pasar datos de txt a un struct

Buenas,
Necesito ayuda, tengo un fichero de texto en el que cada línea representa a una persona y necesito realizar una funcion que lea el fichero de texto y vaya introduciendo cada persona en un array de estructuras. El formato del txt es el siguiente:
nombre apellido dni sexo edad(estan separados los campos por tabulación).

He empezado y no sé como seguir, primeramente porque solo me lee la primera línea y se queda pillado el programa y segundo, no se como separar esa linea para ir almacenando el campo que necesito en el atributo correspondiente de la estructura. Esto es lo que llevo hecho, por favor, echadme un cable. Gracias.

Código:
#include <stdio.h>
#include <stdlib.h>
#define TAM 50

typedef struct
{
    char nombre[30];
    char apellido1[30];
    int dni;
    char sexo;
    int edad;
} Tpersona;

void cargar_txt(Tpersona []);

int main()
{
    Tpersona personas[TAM];
    cargar_txt(personas);
    return 0;

}
void cargar_txt(Tpersona personas[TAM])
{
    FILE *f;
    f=fopen("PERSONAS.txt","r");


    if(f==NULL)
    {
        printf("Error de apertura\n");
    }
    else
    {
        char cad[30];
        printf("%s\n",fgets(cad,255,f));
        while(!feof(f))
        {
            printf("%s\n",fgets(cad,255,f));

        }
        fclose(f);
}
}