basic_streambuf::sungetc
Ruft ein Zeichen vom Stream ab.
int_type sungetc( );
Rückgabewert
Gibt entweder dem Zeichen oder Fehler zurück.
Hinweise
Wenn eine Rückstellungsposition verfügbar ist, wird die Memberfunktion den folgenden Zeiger für den Eingabepuffer und gibt traits_type:: zurück (to_int_type*gptr). Es ist nicht immer jedoch möglich, das schreibgeschützten letzte Zeichen zu bestimmen, sodass sie im aktuellen Zustand des Puffers aufgezeichnet werden kann. Wenn dies zutrifft, gibt die Funktion pbackfail zurück. Um diese Situation zu vermeiden, können Sie das Zeichen nachverfolgt um zurück zu stellen und Aufruf sputbackc(ch), der nicht fehlschlagen kann Sie aufrufen sie nicht am Anfang des Streams und Sie versuchen nicht zurück anzuordnen mehrere Zeichen.
Beispiel
// basic_streambuf_sungetc.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
ifstream myfile( "basic_streambuf_sungetc.txt", ios::in );
// Read and increment
int i = myfile.rdbuf( )->sbumpc( );
cout << ( char )i << endl;
// Read and increment
i = myfile.rdbuf( )->sbumpc( );
cout << ( char )i << endl;
// Decrement, read, and do not increment
i = myfile.rdbuf( )->sungetc( );
cout << ( char )i << endl;
i = myfile.rdbuf( )->sungetc( );
cout << ( char )i << endl;
i = myfile.rdbuf( )->sbumpc( );
cout << ( char )i << endl;
}
Eingabe: basic_streambuf_sungetc.txt
testing
Ausgabe
t
e
e
t
t
Anforderungen
Header: <streambuf>
Namespace: std