Write a C program to find total number of lines in an existing file

CServer Side ProgrammingProgramming

Open a file in reading mode. If the file exists, then write a code to count the number of lines in a file. If the file does not exist, it displays an error that the file is not there.

The file is a collection of records (or) It is a place on the hard disk where data is stored permanently.

Following are the operations performed on files −

  • Naming the file

  • Opening the file

  • Reading from the file

  • Writing into the file

  • Closing the file

Syntax

Following is the syntax for opening and naming a file −

1) FILE *File pointer;
   Eg : FILE * fptr;
2) File pointer = fopen ("File name", "mode");
   Eg : fptr = fopen ("sample.txt", "r");
      FILE *fp;
      fp = fopen ("sample.txt", "w");

Program 1

#include <stdio.h>
#define FILENAME "Employee Details.txt"
int main(){
   FILE *fp;
   char ch;
   int linesCount=0;
   //open file in read more
   fp=fopen(FILENAME,"r");
   if(fp==NULL){
      printf("File \"%s\" does not exist!!!\n",FILENAME);
      return -1;
   }
   //read character by character and check for new line
   while((ch=getc(fp))!=EOF){
      if(ch=='\n')
         linesCount++;
   }
   //close the file
   fclose(fp);
   //print number of lines
   printf("Total number of lines are: %d\n",linesCount);
   return 0;
}

Output

Total number of lines are: 3
Note: employee details.txt file consist of
Pinky
20
5000.000000
Here total number of line are 3

Program 2

In this program, we will see how to find a total number of lines in a file that does not exist in the folder.

#include <stdio.h>
#define FILENAME "sample.txt"
int main(){
   FILE *fp;
   char ch;
   int linesCount=0;
   //open file in write mode
   fp=fopen(FILENAME,"w");
   printf ("enter text press ctrl+z of the end");
   while ((ch = getchar( ))!=EOF){
      fputc(ch, fp);
   }
   fclose(fp);
   //open file in read more
   fp=fopen(FILENAME,"r");
   if(fp==NULL){
      printf("File \"%s\" does not exist!!!\n",FILENAME);
      return -1;
   }
   //read character by character and check for new line
   while((ch=getc(fp))!=EOF){
      if(ch=='\n')
         linesCount++;
   }
   //close the file
   fclose(fp);
   //print number of lines
   printf("Total number of lines are: %d\n",linesCount);
   return 0;
}

Output

enter text press ctrl+z of the end
Hi welcome to Tutorials Point
C Pogramming Question & answers
^Z
Total number of lines are: 2
raja
Published on 06-Mar-2021 11:48:55
Advertisements