Ver Mensaje Individual
  #12 (permalink)  
Antiguo 19/11/2015, 07:56
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: problema con juego de palabras

Código C:
Ver original
  1. if(archivo != NULL){
  2.       if(Lista->nEncontradas !=0){
  3.          free(Lista->Palabras); // <<<--- AQUI!!!
  4.          Lista->nEncontradas=0;
  5.       }
  6.       do{
  7.          if(contador==0){
  8.             Lista->nEncontradas++;
  9.             Lista->Palabras = realloc(Lista->Palabras,Lista->nEncontradas*sizeof(Palabra)); // <<<--- AQUI!!!
  10.             strcpy(Lista->Palabras[Lista->nEncontradas-1].Palabra,salida);
  11.             Lista->Palabras[Lista->nEncontradas-1].PosCaracterExtra=(int)strchr(Lista->Palabras[Lista->nEncontradas-1].Palabra,cadena[0])-(int)Lista->Palabras[Lista->nEncontradas-1].Palabra;
  12.          }

Si haces un free y después intentas un realloc... no se cómo puede acabar la cosa pero no pinta demasiado bien. Quizás si pusieses Lista->Palabras a NULL después del free....

Un saludo
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.