Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/12/2008, 17:29
lalagunacity
 
Fecha de Ingreso: octubre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta ¿vector de strings?

Hola, estoy intentando hacer algo, pero no se me ocurre.
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:
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);
}
gracias!!