std::basic_istream<CharT,Traits>::unget
提供: cppreference.com
< cpp | io | basic istream
basic_istream& unget(); |
||
最も最近抽出した文字をもう一度利用可能にします。
まず eofbit をクリアします。 |
(C++11以上) |
それから、この関数は UnformattedInputFunction として動作します。 sentry オブジェクトの構築および確認の後、 ios_base::iostate フラグのいずれかがセットされていれば、 failbit
をセットし、戻ります。 そうでなければ、 rdbuf()->sungetc() を呼びます。
rdbuf()->sungetc() が Traits::eof() を返した場合は setstate(badbit) を呼びます。
いずれの場合でも、 gcount()
の値はゼロに設定されます。
目次 |
[編集] 引数
(なし)
[編集] 戻り値
*this。
[編集] 例外
内部の操作が例外を投げた場合、それはキャッチされ、 badbit がセットされます。 exceptions() が badbit
に対してセットされていれば、その例外が投げ直されます。
[編集] 例
Run this code
#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'; } }
出力:
Got: H got again: H
[編集] 関連項目
入力シーケンスの次ポインタを1つ前に移動させます ( std::basic_streambuf<CharT,Traits> のパブリックメンバ関数)
| |
文字を抽出します (パブリックメンバ関数) | |
次の文字を抽出せずに読み取ります (パブリックメンバ関数) | |
入力ストリームに文字を戻します (パブリックメンバ関数) |