//L7_F0_P3.cpp
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream ifs("L7_F0_P1.txt");
if( !ifs ) {
cout << "Error opening file\n";
return 1;
}
int number;
while( ifs >> number ) { // reading all numbers – number by number and
cout << number << endl; // writing them to the standard output
}
ifs.close();
return 0;
}
Question(b):
When ifs >> number is true, and when it is false?
Answer(b):
ifs >> number is evaluated to true, when program correctly read a value of variable number (input
data could be interpreted as some value of the appropriate type). On the other hand ifs >> number
evaluates to false, when program cannot interpret the input data as a value that could be assigned
to variable number or the end of file was reached, or there were some error.
Question(c):
Modify L7_F0_P1.txt such that it looks as follows 463 859A203 20 (replace space between 859 and
203 with letter A). What is the output of our program and why?
Answer(c):
There will be the two numbers in the output, i.e., 463 and 859. Then the next attempt to read from
ifs results in ifs >> number evaluated to false and end of the while loop.