Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2012, 20:37
Gaudy
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 2
insertar palabra por palabra a una Matriz

Buenas, quería leer desde un archivo y almacenar palabra por palabra en una matriz, por lo que cada uno de los vectores almacenaré una palabra.

He intentado hacerlo, pero sin éxito, en que me estaré confundiendo??

Código C:
Ver original
  1. char** matriz = (char**)malloc(sizeof(char*)*512);
  2.     leer("texto.txt", matriz, 10);

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. void leer(char *archivoTexto, char** matriz, int palabras){
  4.  
  5.     FILE* archivo;
  6.     int i = 1;
  7.     char linea [sizeof(matriz)];
  8.    
  9.     if((archivo = fopen(archivoTexto, "r")) == NULL){
  10.         perror("error al abrir el fichero texto.txt\n");
  11.     }
  12.     else{
  13.         while(fgets(linea, sizeof(linea), archivo)){
  14.             matriz[0] = strtok(linea, " ");
  15.             printf("%s ", matriz[0]);
  16.             for( ;(matriz[i] = strtok( NULL, " ")) != NULL && i < palabras; i++){
  17.                 printf("%s ", matriz[i]);
  18.             }
  19.         }
  20.     }
  21. }
PD:
1º argumento: nombre del archivo que quiero leer
2º argumento: la matriz donde quiero insertar las palabras (1 en cada vector)
3º argumento: las cantidad de palabras que quiero insertar a la matriz

Pero justo cuando se imprime las palabras desde la matriz, lo único que me imprime es (null)

Última edición por Gaudy; 19/10/2012 a las 20:51