std::basic_istream<CharT,Traits>::unget
來自 cppreference.com
< cpp | io | basic istream
basic_istream& unget(); |
||
使最近提取的字元再次可用。
首先,清除 eofbit。然後,(C++11 起) unget
的行為類似於 UnformattedInputFunction。在構造並檢查哨兵物件後,如果設定了任何 ios_base::iostate 標誌,則函式會設定 failbit
並返回。否則,呼叫 rdbuf()->sungetc()。
如果 rdbuf()->sungetc() 返回 Traits::eof(),則呼叫 setstate(badbit)。
無論如何,將 gcount()
計數器設定為零。
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
*this
[編輯] 異常
如果內部操作丟擲異常,則捕獲該異常並設定 badbit。如果針對 badbit
設定了 exceptions(),則重新丟擲該異常。
[編輯] 示例
執行此程式碼
#include <iostream> #include <sstream> 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'.
[編輯] 參閱
將輸入序列中的下一個指標後退一個位置 ( std::basic_streambuf<CharT,Traits> 的公開成員函式) | |
提取字元 (公開成員函式) | |
讀取下一個字元而不提取它 (公開成員函式) | |
將字元放入輸入流 (公開成員函式) |