write a C program to read a .c  file and to give the total number of "if statements" in that file as an output

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

write a C program to read a .c  file and to give the total number of "if statements" in that file as an output

thanks a lot in advance:) 

Expert Solution
Step 1

Program code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUFFER_SIZE 1000
/* Function declarations */
int countOccurrences(FILE *fptr, const char *word);
int main()
{
    FILE *fptr;
    char path[100];
    char *word;
    word = "if";
    int wCount;
    FILE *fp;
    fp = fopen("a.c","r");
    /* Exit if file not opened successfully */
    if (fp == NULL)
    {
        printf("Unable to open file.\n");
        printf("Please check you have read/write previleges.\n");
        exit(EXIT_FAILURE);
    }
    // Call function to count all occurrence of word
    wCount = countOccurrences(fp, word);
    printf("'%s' is found %d times in file.", word, wCount);
    // Close file
    fclose(fp);
    return 0;
}

/**
 * Returns total occurrences of a word in given file.
 */
int countOccurrences(FILE *fp, const char *word)
{
    char str[BUFFER_SIZE];
    char *pos;
    int index, count;
    count = 0;
    // Read line from file till end of file.
    while ((fgets(str, BUFFER_SIZE, fp)) != NULL)
    {
        index = 0;
        // Find next occurrence of word in str
        while ((pos = strstr(str + index, word)) != NULL)
        {
            // Index of word in str is
            // Memory address of pos - memory
            // address of str.
            index = (pos - str) + 1;
            count++;
        }
    }
    return count;
}

Step 2

Program code #1:

Computer Science homework question answer, step 2, image 1

Step 3

Program code #2:

Computer Science homework question answer, step 3, image 1

steps

Step by step

Solved in 5 steps with 4 images

Blurred answer
Knowledge Booster
Algebraic Expressions
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education