[ Foro de C ]
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.)