首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::basic_istream::unget

basic_istream& unget();

使最近提取的字符再次可用。

First clears eofbit.

(since C++11)

然后,该函数表现为UnformattedInputFunction.在构造和检查哨兵对象(如果有的话)之后ios_base::iostate设置标志,则设置函数集。failbit然后回来。否则,打电话rdbuf()->sungetc()...

如果rdbuf()->sungetc()回报Traits::eof(),电话setstate(badbit)...

在任何情况下,设置gcount()对零。

参数

%280%29

返回值

*this...

例外

failure如果发生错误%28,则错误状态标志不是goodbit29%和exceptions()将被抛向那个州。

如果内部操作抛出异常,则会捕获该操作,并且badbit已经设定好了。如果exceptions()设置为badbit,异常将被重新抛出。

二次

代码语言:javascript
复制
#include <sstream>
#include <iostream>
 
int main()
{
    std::istringstream s1("Hello, world.");
    char c1 = s1.get();
    if (s1.unget())
    {
        char c2 = s1.get();
        std::cout << "Got: " << c1 << " got again: " << c2 << '\n';
    }
}

二次

产出:

二次

代码语言:javascript
复制
Got: H got again: H

二次

另见

sungetc

moves the next pointer in the input sequence back by one (public member function of std::basic_streambuf)

get

extracts characters (public member function)

peek

reads the next character without extracting it (public member function)

putback

puts character into input stream (public member function)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券