Created attachment 26165[details]
Test program displaying the bug. Output should be false for both methods of reading the stream.
This bug was initially reported on the stack overflow forum. Since it seems never to have been reported, I am doing so now.
When istream::ignore is used to ignore the last character of a stream, it sets the eof flag as though it had read past the end of the file. Thus, istream::read and istream::ignore show different behavior.