15.4. File output¶
Sending output to a file is similar. For example, we could modify the previous program to copy lines from one file to another.
#include <iostream>
using namespace std;
int main () {
ifstream infile ("input-file");
ofstream outfile ("output-file");
if (infile.good() == false || outfile.good() == false) {
cout << "Unable to open one of the files." << endl;
exit (1);
}
while (true) {
getline (infile, line);
if (infile.eof()) break;
outfile << line << endl;
}
}
Create a code block that sends output to a file. First, make sure that both the input file and the output file are able to be opened.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
- Create two "for" loops instead of an if-statement so that the statement loops through both conditions once.
- Try again!
- Create a "while" loop instead of an if-statement so that the statement loops through both conditions separately until the body of the loop is reached.
- Try again!
- Create two "if" statements, one that check whether in_file.good() is false, and another that checks whether out_file.good() is false, instead of putting them together in one "if" statement.
- Correct!
Q-2: The code from the previous problem checks whether the files open or not. It doesn’t specify which one, if any, doesn’t open. How could you specify which file does not open?