std::basic_streambuf<CharT,Traits>:: sgetn, std::basic_streambuf<CharT,Traits>:: xsgetn
From cppreference.net
<
cpp
|
io
|
basic streambuf
|
std::
streamsize
sgetn
(
char_type
*
s,
std::
streamsize
count
)
;
|
(1) | |
|
protected
:
virtual std:: streamsize xsgetn ( char_type * s, std:: streamsize count ) ; |
(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
(
)
(публичная функция-член) |