Problema con fgets

Iniciado por P.AGCD, 14 Julio 2011, 13:58 PM

0 Miembros y 1 Visitante están viendo este tema.

P.AGCD

Buenas os dejo el codigo, mi problema es que no consigo guardar los strings en el struct Lista_equipos.
Quiero guardar cada linea del archivo en una posicion de Lista_Equipos
linea 1 ---> Lista_Equipos[1]
linea 2 ---> Lista_Equipos[2]
...





typedef struct {
   char Nombre_Equipo [MAX];
}Lista_Equipos[50];



void LeerEquipos ( Lista_Equipos* ListaEquipos, int NumeroDeEquipos) {
   
   int i;
   char caracter;
   FILE *archivoEquipo;
   
   archivoEquipo = fopen ("Equipos.txt", "r");

if (archivoEquipo == NULL) {
   printf("NO EXISTE EL FICHERO!\n");
   exit(1);
}
   archivoEquipo = fopen ("Equipos.txt", "r");
   i=0;

   
   while (!feof(archivoEquipo)) {
      i=1;   
      
   fgets(ListaEquipos->Nombre_Equipo, MAX, archivoEquipo);
      //puts(ListaEquipos->Nombre_Equipo);    Este puts si que me escribe por pantalla una a una las lineas del archivo, es decir que me lo lee bien.

      if (caracter=='#')
      i++;
      NumeroDeEquipos++;
            
   }
   
   puts(ListaEquipos[4]->Nombre_Equipo);    El problema es que no me almacena los strings en la memoria, este puts me escribe cosas raras, solo funciona el puts(ListaEquipos[1]->Nombre_Equipo);, si pongo pongo otro valor para i no me va.
   
   fclose(archivoEquipo);
   
}


Alomejor me falta algo para almacenar lo que va leyendo o algo :S

Gracias!

satu

Hola

Prueba con esto

Código (cpp) [Seleccionar]

fgets(ListaEquipos[i]->Nombre_Equipo, MAX, archivoEquipo);
puts(ListaEquipos[i]->Nombre_Equipo);


Y quita el i=1

Saludos
Breakbeat como forma de vida

P.AGCD

Eso funciona pero hay veces que solo tendre que escribir el el sting de la posicion 3 por ejemplo y no todos.

kiriost

Entonces sustituye i por el número del string en donde desees escribir.
http://www.godsys.com.ar > Programación. Hacking y Cracking. Sistemas. Desarrollo Web.
Java, C/C++, PHP, Python, Perl, HTML, Game-Hacking, Defacing, Desarrollo Web, GNU/Linux, y más