• Lunes 30 de Marzo de 2020, 07:48

Autor Tema:  Duda con fscanf  (Leído 334 veces)

Irade

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Duda con fscanf
« en: Jueves 18 de Junio de 2009, 19:16 »
0
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 :D

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Duda con fscanf
« Respuesta #1 en: Viernes 19 de Junio de 2009, 10:05 »
0
Hola, bienvenido al foro

Para postear tu código debes usar las etiquetas de código y ponerlo formateado, porque si no, no hay quien se entere  ^_^

Yendo al tema que te preocupa, es difícil responderte si no se sabe qué estructura tiene el fichero que estás leyendo, es decir, cómo van los datos en tu fichero, o con qué función lo escribes.

Saludos