[ Foro de C ]

copiar un archivo en un arreglo de estructuras dinamicas

26-Oct-2022 03:23
Invitado (salamaca)
0 Respuestas

Buenas, estoy haciendo un analizador y tengo esta funcion que debe copiar un archivo linea por linea en una estructura dividido en dos cadenas
void capturaArreglo(ID *ptr)
{
   FILE *f = fopen("gramatica.txt", "r");
   int cont;
   for(cont = 0; cont < 12; cont ++)
   {
   char cad[25];
   while(fgets(cad,25,f))
   {
   strtok(cad, "\n");
  strcpy((ptr + cont)->izq,cad);
  strtok((ptr + cont)->izq,"-");
   char *aux;
   const char aux2='>';
   aux=strrchr(cad,aux2);
   strcpy((ptr + cont)->der,aux);
   }
   }
}
El problema es que cuando lo imprimo para comprobar que esta bien solo imprime la ultima linea del archivo
void imprimeArr(ID *ptr)
{
   int i;
   for (i=0;i<12;i++)
   {
    printf("%s\n",(ptr+i)->izq);
    printf("%s\n",(ptr+i)->der);

   }

}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)