top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

Facebook Login
Site Registration

Wap in C to collect statistics of a source file like total lines, total no of blank lines, no of lines ending with ';'

0 votes
58 views

I want to write a c program where I can count no of line, no of blank lines, no of commented lines and no of lines ending with semicolon, please help!!!

posted May 19, 2017 by Pooja Singh

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+2 votes
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAX_STRING_LENGTH 100
int main(int argc, char **argv)
{
        if(argc<2)
        {
                printf("Provide source file name as command line argument.\n");
                exit(1);
        }
        FILE *fptr;

        fptr=fopen(argv[1],"r");
        if(fptr==NULL)
        {
                printf("Unable to open file %s\n",argv[1]);
                exit(1);
        }

        char str[MAX_STRING_LENGTH];
        int lineCount=0,emptyLineCount=0,cmntLineCount=0,semiColonLineCount=0;
        while(fgets(str,MAX_STRING_LENGTH-1, fptr)!=NULL)
        {
                lineCount++;
                if(strcmp(str,"\n")==0)
                {
                        emptyLineCount++;
                        continue;
                }
                if((str[0] == '/') && (str[1] == '/'))
                {
                        cmntLineCount++;
                        continue;
                }
                if(str[strlen(str)-1] == ';')
                {
                        semiColonLineCount++;
                }
        }
        fclose(fptr);
        printf("No. of line = %d\nNo. of blank line = %d\nNo. of commented line = %d\nNo. of lines ending with semicolon = %d\n",lineCount,emptyLineCount,cmntLineCount,semiColonLineCount);
}
answer May 22, 2017 by Chirag Gangdev
Contact Us
+91 9880187415
sales@queryhome.net
support@queryhome.net
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Bangalore-560102
Karnataka INDIA.
QUERY HOME
...