Per conteggiare le parole si può usare anche isblank()
#include<ctype.h>
#include<stdbool.h>
#include<stdio.h>
bool count_words(const char *path,unsigned int *count)
{
if(path== NULL || count == NULL)
{
return false;
}
FILE *fp = fopen(path,"r");
if(fp == NULL)
{
return false;
}
*count = 0;
while (!feof(fp))
{
count += isblank(getc(fp));
}
return true;
}
int main(int argc,char **argv)
{
if(argc < 2)
{
puts("Argomenti insufficienti ");
return 1;
}
unsigned int count;
bool count_succeded = count_words(argv[1],&count);
if(count_succeded)
{
printf(" Parole contate: %u.\n",count);
}
else
{
puts("Errore nel conteggio delle parole.");
return 1;
}
return 0;
}