http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52169
Tomalak Geret'kal <tom at kera dot name> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tom at kera dot name --- Comment #1 from Tomalak Geret'kal <tom at kera dot name> 2012-02-08 10:39:54 UTC --- cplusplus.com is (a) not authoritative, (b) full of mistakes, and (c) otherwise just awful. Instead, we'll quote the standard(s): [C++11: 27.7.2.3]: streamsize readsome(char_type* s, streamsize n); 32/ Effects: Behaves as an unformatted input function (as described in 27.7.2.3, paragraph 1). After constructing a sentry object, if !good() calls setstate(failbit) which may throw an exception, and return. Otherwise extracts characters and stores them into successive locations of an array whose first element is designated by s. If rdbuf()->in_avail() == -1, calls setstate(eofbit) (which may throw ios_base::failure (27.5.5.4)), and extracts no characters; — If rdbuf()->in_avail() == 0, extracts no characters — If rdbuf()->in_avail() > 0, extracts min(rdbuf()->in_avail(),n)). 33/ Returns: The number of characters extracted. [C++03: 27.6.1.3]: streamsize readsome(char_type* s, streamsize n); 30/ Effects: Behaves as an unformatted input function (as described in 27.6.1.3, paragraph 1). After constructing a sentry object, if !good() calls setstate(failbit) which may throw an exception, and return. Otherwise extracts characters and stores them into successive locations of an array whose first element is designated by s. If rdbuf()->in_avail() == -1, calls setstate(eofbit) (which may throw ios_base::failure (27.4.4.3)), and extracts no characters; — If rdbuf()->in_avail() == 0, extracts no characters — If rdbuf()->in_avail() > 0, extracts min(rdbuf()->in_avail(),n)). 31/ Returns: The number of characters extracted.