Namensräume
Varianten
Aktionen

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

failure, wenn ein Fehler aufgetreten ist (der Fehlerstatus-Flag ist nicht goodbit) und exceptions() für diesen Zustand zum Werfen gesetzt ist.

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

#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>) [bearbeiten]
extrahiert Zeichen
(public member function) [bearbeiten]
liest das nächste Zeichen ohne es zu extrahieren
(public member function) [bearbeiten]
legt ein Zeichen in den Eingabestrom zurück
(public member function) [edit]