std::basic_istream<CharT,Traits>::unget
Von cppreference.com
< cpp | io | basic istream
| basic_istream& unget(); |
||
Macht das zuletzt extrahierte Zeichen wieder verfügbar.
Zuerst wird eofbit gelöscht. Dann verhält sich(seit C++11) unget als UnformattedInputFunction. Nach dem Konstruieren und Überprüfen des Sentry-Objekts wird, wenn irgendein ios_base::iostate Flag gesetzt ist, failbit gesetzt und die Funktion gibt zurück. Andernfalls wird rdbuf()->sungetc() aufgerufen.
Wenn rdbuf()->sungetc() Traits::eof() zurückgibt, wird setstate(badbit) aufgerufen.
In jedem Fall wird der Zähler gcount() auf Null gesetzt.
Inhalt |
[edit] Parameter
(keine)
[edit] Rückgabewert
*this
[edit] Ausnahmen
Wenn eine interne Operation eine Ausnahme auslöst, wird diese abgefangen und badbit gesetzt. Wenn exceptions() für badbit gesetzt ist, wird die Ausnahme erneut ausgelöst.
[edit] Beispiel
Führen Sie diesen Code aus
#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"; } }
Ausgabe
Got: 'H'. Got again: 'H'.
[edit] Siehe auch
| verschiebt den nächsten Zeiger in der Eingabesequenz um eins zurück (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| extrahiert Zeichen (public member function) | |
| liest das nächste Zeichen ohne es zu extrahieren (public member function) | |
| legt ein Zeichen in den Eingabestrom zurück (public member function) |