<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hola, tengo un problema al que no encuentro solucion. Yo tengo creado un archivo de acceso aleatorio.<p>No vale la pena ahondar demasiado en lo que hace el programa en si.<br>Leo bien todos los datos, pero a la hora de almacenarlos, tengo un error.<br>Apenas iniciado el for, guardo en una variable char una palabra. Esta palabra le guardo en la posicion j=0 de una variable char*.<br>Cuando guardo la siguiente iteración, me la guarda tanto en la posicion 0 como en la j=1.<br>O sea, al final de las 9 iteraciones, me queda el vector char* zonas[9] con 9 datos idénticos.<br>Calculo que el error esta en como defini las variables, pero tengo poca experiencia y no alcanzo a verlo. Si alguien me puede dar una mano se lo agradeceria!<br>Les dejo el código aca abajo!<br>Saludos y gracias!</p><p><br></p><p><br></p>#ifndef _HISTORIAL_H_<br>#define
 _HISTORIAL_H_<br>#include <stdio.h><br>#include <string.h><br>#include <stdlib.h><br><br>void historial(){<br> FILE *ptrdel;<br>      char archivodelitos[] = "delitos.txt";<br>char cadena[20];<br>    char fecha[20];<br>       char hora[20];<br>        char alarma[2];<br> char *alarmas[9] = {0};<br>        char zona[2];<br> char *zonas[9] = {0};<br>    char delito[20];<br><p>char *delitos[54] = {0};</p><p>int i = 0; int d = 0; int j = 0;<br></p>      ptrdel = fopen(archivodelitos, "r");<br><br>      fseek(ptrdel,0,SEEK_SET);<br>             <br>      fscanf (ptrdel, "%s", cadena) != EOF;<br>       strcpy(fecha,cadena);<br> fscanf (ptrdel, "%s", cadena) != EOF;<br>       strcpy(hora,cadena);<br>  <br>      for(j=0;j<9;j++,z++){<br>          fscanf (ptrdel, "%s", cadena) != EOF;<br>     strcpy(zona,cadena);<br>        zonas[j] = zona;<br>    fscanf (ptrdel, "%s", cadena) != EOF;<br>     strcpy(alarma,cadena);<br>      alarmas[j] = alarma;<br> 
         while(strcmp(cadena,",")!=0){<br>                 if (strcmp(cadena,",")!=0){<br>                             fscanf (ptrdel, "%s", cadena) != EOF;<br>                           strcpy(delito,cadena);<br>                            delitos[d] = delito;<br>                              d++;<br>                              }<br>     }<br>}<br>    <br>      printf("%s\n",fecha);<br>       printf("%s\n",hora);<br><br>      for(i=0;i<9;i++){<br>      printf("%d %s %c\n", i, zonas[i], alarmas[i]);<br>        }<br>     fclose(ptrdel);<br>}<br><br>#endif<br></td></tr></table>