Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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 −
#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
Advertisements