http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52169
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-02-08 10:56:18 UTC --- (In reply to comment #1) > cplusplus.com is (a) not authoritative, (b) full of mistakes, and (c) > otherwise > just awful. This, x 1000 (In reply to comment #2) > i.e. doesn't readsome become a noop when there's nothing to read? Yes, which makes it very useful for non-blocking reads from pipes or sockets. The testcase is simply wrong, as you can see by checking in_avail: cerr << "avail: " << f.rdbuf()->in_avail() << endl; Since in_avail() doesn't return -1, readsome should not set eofbit. There are better ways to read a whole file anyway, e.g. ostr << f.rdbuf()