Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2013, 17:46
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Extraer palabras de un fichero de texto

Hola:

Tengo una duda y además estoy totalmente perdido y no adivino el por qué no funciona:

Se trata de leer un archivo de texto. Me interesa que se lea línea a línea, y además, luego, de cada línea quiero sacar todas las palabras. Ha de ser de esa forma.
Esto es lo que tengo:
Código C++:
Ver original
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7. void divideLinea(char*);
  8.  
  9. int main()
  10. {
  11.     char buffer[2000];
  12.     ifstream archivo("texto.txt");
  13.  
  14.     while (!archivo.eof())
  15.     {
  16.         archivo.getline(buffer,2000);
  17.         cout<<endl<<buffer;
  18.         //divideLinea (buffer);
  19.     }
  20.     archivo.close();
  21.     return 0;
  22. }
  23.  
  24. void divideLinea(char* buffer)
  25. {
  26.     char *p;
  27.     p= strtok (buffer," ");
  28.     cout<<p<<endl;
  29.     while (p)
  30.     {
  31.         p=strtok (0," ");
  32.         cout<<p<<endl;
  33.     }
  34. }

Si descomento la llamada a la función, después de la primera iteración del bucle ya no vuelve a funcionar, y es ahí donde estoy totalmente perdido.

Gracias!