std::basic_streambuf<CharT,Traits>::showmanyc

来自cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
 
 
protected:
virtual std::streamsize showmanyc();

估计关联字符序列中可用于输入的字符数。保证在提取到那么多字符前 underflow() 不会返回 Traits::eof() 或抛出异常。

参数

(无)

返回值

关联字符序列中确定可用的字符数,或者在 showmanyc 不需要阻塞即可确定无字符可用时返回 -1。如果 showmanyc 返回 -1,那么 underflow()uflow() 肯定会返回 Traits::eof 或抛出。

基类版本返回 0,这表示“不确定关联序列中是否有字符可用”。

注解

此函数的名称表示“流(Stream):多少(how many)字符(Characters)?”,所以它读作 “S how many C” 而不是 “show many C”。

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 159 C++98 保证在提供 showmanyc() 个字符前 underflow() 不会失败 扩展保证以容许提取至少 showmanyc() 个字符

参阅

获得获取区中立即可用的字符数
(公开成员函数)
可选地提供可用于从文件输入的字符数
(std::basic_filebuf<CharT,Traits> 的虚受保护成员函数)