Write the definition of a function named fscopy that does a
Write the definition of a function named fscopy that does a line-by-line copy from one stream to another. This function can be safely passed two fstream objects , one opened for reading, the other for writing. In addition, it gets a bool argument that is true if the output lines are to be numbered, and another argument , an int that specifies line-spacing in the output . Assume that the input source is a text file consisting of a sequence of newline character -terminated lines. The function copies, line by line, the entire content of the data source associated with the first argument to the data target associated with the second argument . It returns the number of lines read in. If it the third parameter , the bool is true , every line that is output is preceded by a 6-position field holding the line number (an integer ) followed by a space and then the actual line. If the last argument , the int is 2 or more, it specifies the line spacing: for example, it is 3, there are two blank lines output after each line printed. These blank lines are NOT numbered.
The code needs to be written in C++ programming language. I only need the fscopy function code.
Solution
//header files
#include <iostream>
#include <fstream>
using namespace std;
//main function
int main()
{
//opening input file data.txt
ifstream fscopy;
fscopy.open(\"data.txt\",ios::in);
ofstream fout;
//outputs in a file new.txt
fout.open(\"new.txt\",ios::out);
char ch;
char line[75];
int i = 1;
while(fscopy.get(ch)){
fscopy.get(line,75,\'.\');
fout<<\"Line \"<<i<<\" : \"<<line<<endl;
i++;
}
fscopy.close();
cout<<\"done\"<<endl;
return 0;
}
output:-
Line 1: hi
Line 2: hell
Line 3: Welcome to cpp!
