Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

(Please keep in mind that this is for a Unix/Linux environment) You are to create a C++ program that opens an input file, reads and

(Please keep in mind that this is for a Unix/Linux environment)

You are to create a C++ program that opens an input file, reads and process the data in that file, and then writes the (possibly modified) data to a new output file. Your program should: Accept arguments that are presented on the command line (see Usage box below).

Use the Templatized C++ Command Line Parser for argument processing (See the Templatized C++ Command Line Parser below). Illegal or missing options should be handled properly. Store the parsing results into a C++ STL map. The map file must be indexed by a C++ enumerated list (enum) and should hold strings for values.

Within your code, you must query your map to get the values of the parsed command line arguments. Finally, your program must present the correct behavior. The behavior is:

USAGE:

./program2 [-l] [-u] [-o ] [--] [--version] [-h]

Where:

-l, --lower Convert all text to lowercase

-u, --upper Convert all text to uppercase

-o , --outfile The name of the output file

--, --ignore_rest Ignores the rest of the labeled arguments following this flag

--version Displays version information and exits

-h, --help Displays usage information and exits. (required) Input file

Your program should open the input file for reading and the output file for writing. It should copy all data from the input file to the output file while optionally converting case as directed by the command line arguments. -u and -l are mutually exclusive. Only one may be given but neither is required. If the output file is not specified (it is optional), you should write to a file with the default name of "output.txt"

Notes: If the compiler complains that /tmp is full (No space left on device), then set your TMPDIR environment variable to /scratch. You can do this in your bash shell and in your shell scripts like this TMPDIR=/scratch; export TMPDIR You will need to use the g++ -I (Capital I) command line argument to point to the include folder that contains the TCLAP folder of header files. All editing must be done within the shell using a text editor .

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions