Leo de un fichero que contiene palabras separadas por espacios. Necesito leer N palabras y meter esas N en un vector de strings, para luego llamar a una función Hash y luego quitar la primera palabra, mover el resto de las palabras una posicion a la izquierda, añadir la siguiente palabra al final y volver a llamar a la funcion Hash.
Lo he intentado de muchas formas y no me sale
Hasta el momento no consigo leer de N en N palabras. Me falla y no se como arreglarlo:
Código:
gracias!! void pasar_a_hash (char *fich, unsigned int conjuntos) { FILE *temp; char *vector_palabras[N]; char *buffer; unsigned int i, j; temp = fopen (fich, "r"); for (j = 0; j < N; j++) { /* Ponemos las primeras N palabras en el vector */ fscanf (temp, "%s", buffer); vector_palabras[j] = buffer; printf ("%s ", vector_palabras[j]); /*<------- Esto me lo muestra bien */ } for (j = 0; j < N; j++) printf ("%s ", vector_palabras[j]); /*<------- Esto me lo muestra MAL */ printf ("\n"); i = 1; while (i < conjuntos) { /* Hasta el numero de conjuntos - 1 */ /* LLAMAR A FUNCION HASH AQUI */ for (j = 0; j < N - 1; j++) /* Movemos las palabras de sitio */ vector_palabras[j] = vector_palabras[j + 1]; fscanf (temp, "%s", vector_palabras[N - 1]); printf ("\n%s\n", vector_palabras[N - 1]); /*<---- Este lo muestra bien*/ i++; for (j = 0; j < N; j++) printf ("%s ", vector_palabras[j]); /*<--- Este lo muestra MAL*/ } fclose (temp); }