Hola
, estoy haciendo una práctica en C en la que el primer paso es leer de un archivo de texto. Son 4 cosas las que hay que leer en cada linea (nombre, titulo, nº discos y fecha de entrada en la lista), por lo tanto me he creado primero estas estructuras:
typedef struct
{
int dia;
int mes;
int anyo;
}Tfecha;
typedef struct
{
char nombre[30];
char titulo[30];
int numDiscos;
Tfecha fecha;
}lista_exitos;
lista_exitos l;
y para leer los datos del fichero he hecho lo siguiente:
void leerLista(lista_exitos l)
{
int i = 0;
FILE *fichero;
fichero = fopen("radio.txt", "r+");
if(fichero != NULL)
{
while (feof(fichero) == 0)
{
fflush(stdin);
fscanf(fichero, "%s %s %d", l.nombre, l.titulo, &l.numDiscos);
printf("n");
printf("%s %s %d", l.nombre, l.titulo, l.numDiscos);
}
}
else
{
printf("nErrorn");
}
fclose(fichero);
}
(La fecha aun no la cojo porque quiero aclararme primero con esto)
El problema es que yo quiero guardar muchos nombres, titulos y numeros de discos, pero con eso solo me quedo con el último. Más adelante tendré que sacar un nombre determinado, o buscar por el número de discos...
Como hago para guardarlos y luego poder acceder a cada uno de ellos??
Había pensado algo así:
fscanf(fichero, "%s %s %d", l.nombre(i), l.titulo(i), &l.numDiscos(i));
pero no funciona.
La lista puede tener como máximo 50 entradas.
Muchas gracias