Hi, everyone!

Here is a simple STL program. It uses two input iterators
to use on the same input file. I do not understand why the
output is looking like this.

Here are the source codes,

--------
#include <iterator>
#include <fstream>
#include <iostream>

using namespace std;

void main()
{
// c:\\file1.txt: 0 1 2 3
ifstream ifile ("c:\\file1.txt");

istream_iterator<int> r (ifile);
istream_iterator<int> s (ifile);

(r==s) ? cout << "equal" : cout << "not equal";
cout << endl;

++r;
++s;

cout << *r << endl;
cout << *s << endl;

(r==s) ? cout << "equal" : cout << "not equal";
cout << endl;
}
--------

Here are the outputs,

--------
equal
2
3
equal
--------


Thanks in advance,
George