C/Visual C - Contar palabras de un txt

 
Vista:

Contar palabras de un txt

Publicado por Sandy (1 intervención) el 09/09/2004 14:36:10
Necesito un programa que cuente las palabras que hay en un archivo de texto. Por favor ayudenme....no tengo ni la menor idea de como
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Contar palabras de un txt

Publicado por Geo (36 intervenciones) el 09/09/2004 23:58:16
Lee el archivo byte por byte, cada vez que encuentres un espacio cuentas una palabra.

Saludos,
José Jorge (Geo).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar palabras de un txt

Publicado por MrHyde (5 intervenciones) el 10/09/2004 04:14:25
linda, komo te dijo JJ(Geo) es komo lo debes hacer, rekuerda ke el kodigo ascii del espacio es 32... espero ke esto te sirva....

salu2
hyd3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar palabras de un txt

Publicado por chuidiang (677 intervenciones) el 10/09/2004 09:02:28
La forma que te comentan es una posibilidad, pero tienes que hacer alguna cosa mas. Por ejemplo, si una palabra esta al final de linea y la siguiente al principio de la linea siguiente, estan separadas por un retorno de carro y no por un espacio. Debes contar tambien los retornos de carro, los tabuladores, etc. Además, es posible que haya dos espacios seguidos o un retorno de carro y detrás un tabulador. Debes contar secuencias seguidas de estos caracteres como una unica palabra.

Una forma que quizás resulte mas facil es usar la funcion fscanf(). Si haces esto

char cadena[100];
int contador = 0;
while (fscanf (fichero, "%s", cadena) == 1)
contador++;

fscanf() devuelve cuantas variables ha leido. Con %s lee palabras (deja de leer en los espacios, tabuladores y retornos de carro). NO lo he probado, pero yo creo que de esta forma puedes resolver tu problema sin liarte demasiado.

Se buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar palabras de un txt

Publicado por Oscar (3 intervenciones) el 11/09/2004 22:49:55
En C++ seria:
//------------------------------------------Contar palabras-------------------
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include <string.h>

const int maxcadena=20; //Palabras de 19 caracteres no creo haya
typedef char *cadena;

void main(){
fstream f;
cadena cad;
int cont;

cadena=new char[maxcadena]; //reservar memoria para la cadena
cont=0; // incializacion del contador a cero
f.open("nombre_fichero.txt", ios::in | ios::beg | ios::noreplace);
// Abrir fichero para lectura desde el principio sin reemplazar los datos.
if(f){
while(!f.eof()){
f.getline(cadena,maxcadena,' ');
if(strcmp(cadena,"\n")!=0) // si no es salto de linea
if(strcmp(cadena," ")!=0)
cont++;
} // fin del while
f.close();
} // fin del if
else
cout<<"E r r o r : No se pudo abrir el fichero.";

cout<<"El nº de palabras del texto es: "<<cont<<endl;
} // fin del programa

//--------------------------------------FIN--------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar