Потоки ввода и буфера
Функция readsome() является операцией нижнего уровня, которая позволяет...
Т.к. приведенное в книге описание readsome() туманно, далее следует перевод соответствующей части стандарта:
27.6.1.3 Функции неформатированного ввода [lib.istream.unformatted]
streamsize readsome(char_type* s, streamsize n);
Действия: Если !good() вызывает setstate(failbit), которая может возбудить исключение. Иначе извлекает символы и помещает их в массив, на первый элемент которого указывает s. Если rdbuf()->in_avail() == -1, вызывает setstate(eofbit) (которая может возбудить исключение ios_base::failure (27.4.4.3)) и не извлекает символы;
если rdbuf()->in_avail() == 0, не извлекает символы
если rdbuf()->in_avail() > 0, извлекает min(rdbuf()->in_avail(),n)) символов
Возвращает: Количество извлеченных символов.