Question: Program Specifications Write a function called rCopy that copies the entire contents of one file to another, but copies them over in reverse order. This
Program Specifications
Write a function called rCopy that copies the entire contents of one file to another, but copies them over in reverse order. This function should take the names of the input and output files as strings. If either file does not open for any reason, the function should output an error message stating the name of the file that didnt open and then return the value false. Otherwise, if both files open correctly, the function should return true once the reverse copy has been completed.
For example, if a file named in.dat contains the following:
A c d 87 arc 6587 9 9
then after the function call:
rCopy("in.dat", "out.dat")
the file out.dat should contain the following:
9 9 7856 cra 78 d c A
You must solve this recursively!! To implement this recursively you will need to write a helper function that passes in an input and an output file stream. This helper function will be the recursive function. Recall that the expression cin.get(ch) will read in a single character from cin into a char variable named ch.
Again, this must use recursion to get any points.
You may NOT use any kind of loop. You may NOT use global or static variables. You will be docked at least 20 points if you use a loop, a global variable, or a static variable.
main.cpp
#include
void rCopy(istream &, ostream &); bool rCopy(const string &, const string &);
int main(int argc, char *argv[]) {
if (argc != 3) { cout << "USAGE: " << argv[0] << " input-file output-file" << endl; return 1; }
if (rCopy(argv[1], argv[2])) { cout << "Copy completed" << endl; } else { cout << "Copy not completed" << endl; } return 0; }
// Implement these functions
void rCopy(istream &in, ostream &out) { }
bool rCopy(const string &in, const string &out) {
}
ICE: zybook C++
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
