Question: The code return the number of spaces in the buffer using the is space function. So if the input is a b c d then

The code return the number of spaces in the buffer using the is space function. So if the input is a b c d then the output is 4

*/

#include

#include

#include

#include

#include

/*

* Expected usage:

* ./wc

*

* If argv[1] is "words", then you should count the number of words. If it

* is "lines", then you should count the number of lines.

*

* For example:

* $ cat a.txt

* a b c d

* $ ./wc words a.txt

* 4

* $ ./wc lines a.txt

* YOUR PROGRAM MUST COMPILE CLEANLY WITH: gcc -o wc wc.c -Wall -pedantic

*/

/*

* This should return the number of spaces in the buffer using the isspace

* function.

*/

static size_t

words(const char *buffer, size_t length)

{

size_t sum = 0;

return sum;

}

/*

* This should return the number of lines in the buffer by checking for the

* existence of ' ' characters in the buffer.

*/

static size_t

lines(const char *buffer, size_t length)

{

size_t sum = 0;

return sum;

}

int

main(int argc, const char *argv[])

{

char buffer[256];

FILE *fp;

size_t bytes_read;

size_t sum = 0;

enum {

MODE_LINES,

MODE_WORDS

} mode;

{

char buffer[256];

FILE *fp;

size_t bytes_read;

size_t sum = 0;

enum {

MODE_LINES,

MODE_WORDS

} mode;

bool middle = false;

if (argc != 3) {

printf("Usage: ./wc ");

exit(EXIT_FAILURE);

}

/*

* Set mode here based on the value of argv[1]. Use the

* strcmp function for string comparison.

*/

fp = fopen(argv[2], "r");

if (fp == NULL) {

printf("error: could not open %s: %s ",

argv[1], strerror(errno));

exit(EXIT_FAILURE);

}

for (;;) {

bytes_read = fread(buffer, 1, sizeof(buffer), fp);

if (bytes_read == 0)

break;

if (mode == MODE_LINES) {

sum += lines(buffer, bytes_read);

} else if (mode == MODE_WORDS) {

sum += words(buffer, bytes_read);

}

}

}

/*

* You need to increment sum if you were in the middle of a line or wor$

* file was hit.

*/

printf("%zu ", sum + middle);

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!