Namespaces
Variants

std::basic_streambuf<CharT,Traits>:: sgetn, std::basic_streambuf<CharT,Traits>:: xsgetn

From cppreference.net
std:: streamsize sgetn ( char_type * s, std:: streamsize count ) ;
(1)
protected :
virtual std:: streamsize xsgetn ( char_type * s, std:: streamsize count ) ;
(2)
**Примечание:** Весь код C++ внутри тегов ` ` сохранен без изменений, включая ключевые слова, типы данных и синтаксис, как было указано в требованиях. Переведены только номера версий (1) и (2) в правом столбце таблицы.
1) Вызывает xsgetn(s, count) самого производного класса.
2) Считывает count символов из входной последовательности и сохраняет их в массив символов, на который указывает s . Символы читаются как при повторных вызовах sbumpc() . То есть, если менее count символов доступно немедленно, функция вызывает uflow() для предоставления дополнительных символов до тех пор, пока не будет возвращено Traits :: eof ( ) .
Классы, производные от std::basic_streambuf , могут предоставлять более эффективные реализации этой функции.

Содержание

Параметры

s - указатель на начало массива char_type
count - максимальное количество символов для чтения.

Возвращаемое значение

Количество успешно прочитанных символов. Если оно меньше count это означает, что входная последовательность достигла конца.

Примечания

Правило о «более эффективных реализациях» разрешает массовый ввод-вывод без промежуточной буферизации: именно так std::ifstream::read просто передает указатель в системный вызов POSIX read() в некоторых реализациях iostreams

Пример

Смотрите также

вызывает xsputn ( )
(публичная функция-член)