C++ 3d.Комментарии

Потоки ввода и буфера


Функция 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)) символов

    Возвращает: Количество извлеченных символов.



    Содержание раздела