w3resource

C Exercises: Count the number of words and characters in a file

C File Handling : Exercise-7 with Solution

Write a program in C to count number of words and characters in a file.

Sample Solution:

C Code:

#include <stdio.h>
#include <stdlib.h>

void main() 
{ 
    FILE *fptr; 
    char ch; 
    int wrd=1,charctr=1;
    char fname[20];
    printf("\n\n Count the number of words and characters in a file :\n");
	printf("---------------------------------------------------------\n"); 
	printf(" Input the filename to be opened : ");
	scanf("%s",fname);    

    fptr=fopen(fname,"r"); 
    if(fptr==NULL) 
     { 
         printf(" File does not exist or can not be opened."); 
      } 
    else 
        { 
          ch=fgetc(fptr); 
          printf(" The content of the file %s are : ",fname); 
          while(ch!=EOF) 
            { 
                printf("%c",ch); 
                if(ch==' '||ch=='\n')
                    { 
                        wrd++; 
                    }
                    else
                    {
                        charctr++; 
                    }
                ch=fgetc(fptr); 
            }
        printf("\n The number of words in the  file %s are : %d\n",fname,wrd-2); 
        printf(" The number of characters in the  file %s are : %d\n\n",fname,charctr-1);         
        } 
    fclose(fptr); 
}

Sample Output:

 Count the number of words and characters in a file :                                                         
---------------------------------------------------------                                                     
 Input the filename to be opened : test.txt                                                                   
 The content of the file test.txt are :                                                                       
test line 1                                                                                                   
test line 2                                                                                                   
test line 3                                                                                                   
test line 4                                                                                                   
                                                                                                              
 The number of words in the  file test.txt are : 12                                                           
 The number of characters in the  file test.txt are : 36 

Flowchart:

Flowchart: Count the number of words and characters in a file

C Programming Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a program in C to find the content of the file and number of lines in a Text File.
Next: Write a program in C to delete a specific line from a file.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

C Programming: Tips of the Day

Difference between signed / unsigned char :

There's no dedicated "character type" in C language. char is an integer type, same (in that regard) as int, short and other integer types. char just happens to be the smallest integer type. So, just like any other integer type, it can be signed or unsigned.

It is true that (as the name suggests) char is mostly intended to be used to represent characters. But characters in C are represented by their integer "codes", so there's nothing unusual in the fact that an integer type char is used to serve that purpose.

The only general difference between char and other integer types is that plain char is not synonymous with signed char, while with other integer types the signed modifier is optional/implied.

Ref : https://bit.ly/3esiVjT