C program to count characters, lines and number of words in a file



A file is a physical storage location on disk and a directory is a logical path which is used to organise the files. A file exists within a directory.

The three operations that we can perform on file are as follows −

  • Open a file.
  • Process file (read, write, modify).
  • Save and close file.

Example

Consider an example given below −

  • Open a file in write mode.
  • Enter statements in the file.

The input file is as follows −

Hi welcome to my world This is C programming tutorial From tutorials Point

The output is as follows −

Number of characters = 72

Total words = 13

Total lines = 3

Program

Following is the C program to count characters, lines and number of words in a file

 Live Demo

#include <stdio.h> #include <stdlib.h> int main(){    FILE * file;    char path[100];    char ch;    int characters, words, lines;    file=fopen("counting.txt","w");    printf("enter the text.press cntrl Z:
");    while((ch = getchar())!=EOF){       putc(ch,file);    }    fclose(file);    printf("Enter source file path: ");    scanf("%s", path);    file = fopen(path, "r");    if (file == NULL){       printf("
Unable to open file.
");       exit(EXIT_FAILURE);    }    characters = words = lines = 0;    while ((ch = fgetc(file)) != EOF){       characters++;    if (ch == '
' || ch == '\0')       lines++;    if (ch == ' ' || ch == '\t' || ch == '
' || ch == '\0')       words++;    }    if (characters > 0){       words++;       lines++;    }    printf("
");    printf("Total characters = %d
", characters);    printf("Total words = %d
", words);    printf("Total lines = %d
", lines);    fclose(file);    return 0; }

Output

When the above program is executed, it produces the following result −

enter the text.press cntrl Z: Hi welcome to Tutorials Point C programming Articles Best tutorial In the world Try to have look on it All The Best ^Z Enter source file path: counting.txt Total characters = 116 Total words = 23 Total lines = 6
Updated on: 2021-08-31T12:58:48+05:30

15K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements