std::basic_streambuf<CharT,Traits>::showmanyc
protected: virtual std::streamsize showmanyc(); |
Оценивает количество символов, доступных для ввода в связанной последовательности символов. underflow() гарантированно не вернёт Traits::eof() и не выбросит исключение, пока не будет извлечено как минимум такое количество символов.
Параметры
(нет)
Возвращаемое значение
Количество символов, которые точно доступны в связанной последовательности символов, или -1, если showmanyc может определить без блокировки, что символы недоступны. Если showmanyc возвращает -1, underflow() и uflow() определённо вернут Traits::eof или выбросят исключение.
Версия базового класса возвращает 0, что означает «неизвестно, доступны ли символы в связанной последовательности».
Примечания
Имя этой функции означает «поток: сколько символов?», поэтому оно произносится как «эс, сколько си» (S how many C), а не «шоу мэни си» (show many C).
Пример
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применён к | Опубликованное поведение | Правильное поведение |
|---|---|---|---|
| LWG 159 | C++98 |
underflow() гарантированно не завершится ошибкой, пока не будет предоставленокак минимум showmanyc() символов | гарантия расширена: допускается извлечение как минимумshowmanyc() символов |
См. также
| получает количество символов, непосредственно доступных в области извлечения (открытая функция-член) |
|
|
[виртуальная] | опционально предоставляет количество символов, доступных для ввода из файла (виртуальная защищённая функция-член класса std::basic_filebuf<CharT,Traits>) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_streambuf/showmanyc