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 didn’t 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.
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 didn’t 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.
![1 #include <iostream>
2 #include <fstream>
3 using namespace std;
4
6 void rCopy (istream &, ostream &);
7 bool rCopy(const string &, const string &);
8
9 int main(int argc, char *argv[]) {
10
if (argc !- 3) {
cout << "USAGE: " << argv[0] << "
return 1;
}
11
12
input-file output-file" <« endl;
13
14
15
if (rCopy (argv[1], argv[2])) {
cout << "Copy completed" << endl;
} else {
16
17
18
19
cout << "Copy not completed" << endl;
}
20](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F8900ff99-c27e-4d85-a4b3-e8c95461bb14%2F18748ae4-2551-4dc6-9fdc-6a52ba6b8355%2F8aggp2b_processed.jpeg&w=3840&q=75)
![return 0;
// Implement these functions
void rCopy(istream &in, ostream &out) {
bool rCopy(const string &in, const string &out) {
return true;](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F8900ff99-c27e-4d85-a4b3-e8c95461bb14%2F18748ae4-2551-4dc6-9fdc-6a52ba6b8355%2Fucrhbyi_processed.jpeg&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 4 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)