Amend the following C program which counts the number of non white-space characters from an input text file (any text file will do). The program must be changed so that it will execute from the command line like so: command -f inputfile outputfile OR command -s inputfile
Amend the following C program which counts the number of non white-space characters from an input text file (any text file will do). The program must be changed so that it will execute from the command line like so:
command -f inputfile outputfile
OR
command -s inputfile
Requirement 1) With the -f option, output will be written to any text file on the desktop.
Requirement2) With the -s option will output the data to the terminal or screen. Please note that the skeleton code provided already does this without the -s.
Requirement 3) The code must also, alert the user if they enter an incorrect number of arguments.
The name of 'command' doesn't matter nor the name of the output file.
Thank you.
******************SOURCE CODE****************************
#include <stdlib.h>
#include <stdio.h>
#define BLANK ' '
#define NEWLINE '\n'
int main(int argc, char *argv[]) {
FILE *infile;
char d;
int char_count=0;
if ( (infile = fopen(argv[1], "r") ) == NULL) {
fprintf(stderr,"%s: cannot open %s \n", argv[0], argv[1]);
exit(1);
}
while ( (d = getc(infile)) != EOF )
if ( (d != BLANK) && (d != NEWLINE) )
char_count++;
printf("%d characters\n", char_count);
return 0;
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 7 images