Contar palabras de un archivo txt en c porfitas

Agradecería mucho su ayuda para hacer un programa en c que cuente las palabras de un archivo externo .txt
Así lo que he avanzado
#include <stdio.h>
#include <conio.h>
# include<stdlib.h>
void main()
{
FILE  *f;
char frase[100];
int i;
char *c;
int contador=0;
{
f = fopen("C:\arc.txt", "r");
if (fpr == NULL)
{ printf("No se puede completar la operacion\n");
return(-1);
}
do
{
c = fgets(palabra, 10, f);
if(c==' ')
contador++;
}
while (c != NULL);
fclose(fpr);
printf("%d",contador);
}
Yo pienso que se puede hacer contando los espacios que existe en el programa, pero como podrán darse cuenta no soy un experto en programación y mi programa no funciona :(, agradecería mucho su ayuda, acaban de dejarme este programa .
Att. Estudiante desesperado a las 3:23 am

1 respuesta

Respuesta
4
Aquí tienes tu programa corregido y comentado. Fíjate bien en el caso de los dobles espacios...
[code]#include
#include  
# include

int main (int argc, char * const argv[]) {
    FILE  *f; 
//Declaro una constante que representa la talla maxima de una linea
static const int tallaLinea = 100;
//Defino la frase utilizando tallaLinea 
char frase[tallaLinea];
int contador=0; 
//Abrimos el archivo
f = fopen("/Users/bebware/caca.txt", "r"); 
//Si falla la apertura del archivo
if (f == NULL) 

//devolvemos un error
printf("No se puede abrir el archivo\n"); 
return(-1); 

//Para cada linea
while (fgets(frase, tallaLinea, f) != NULL) 
{
//Para cada uno de los caracteres de esta linea
for(int i = 0; i

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas