◐ Shell
clean mode source ↗

std::basic_stringbuf<CharT,Traits,Allocator>::pbackfail - cppreference.com

来自cppreference.com

protected:
virtual int_type pbackfail( int_type c = Traits::eof() )

此受保护虚函数为公开函数 basic_streambuf::sungetcbasic_streambuf::sputbackc 所调用(转而为 basic_istream::ungetbasic_istream::putback 所调用)。

1) 调用方要求获取区后备一个字符(以无实参或以 Traits::eof() 为实参调用 pbackfail()

a) 首先,检查是否有回放位置,而若确实无回放位置则失败( stringbuf 无重读用的外部字符序列)

2) 调用方试图回放的字符异于之前取得者(以要需要放回的字符调用 pbackfail()),该情况下

a) 首先,检查是否有回放位置,若无则失败。

c) 否则,若缓冲区仅为读取打开,则失败。

参数

c - 要返回的字符,或若要求指示获取区的后备则为 Traits::eof()

返回值

成功时为 c,除非 cTraits::eof(),该情况下返回 Traits::not_eof(c)

失败时为 Traits::eof()

示例

参阅

将字符放回输入序列,可能修改输入序列
(std::basic_streambuf<CharT,Traits> 的虚受保护成员函数) [编辑]
回移一位输出序列中的下一位置指针
(std::basic_streambuf<CharT,Traits> 的公开成员函数) [编辑]
在输入序列中放回一个字符
(std::basic_streambuf<CharT,Traits> 的公开成员函数) [编辑]
撤销上一个字符的提取
(std::basic_istream<CharT,Traits> 的公开成员函数) [编辑]
往输入流中放置一个字符
(std::basic_istream<CharT,Traits> 的公开成员函数) [编辑]