Freigeben über


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

Siehe auch

Referenz

basic_streambuf-Klasse

iostream-Programmierung

iostreams-Konventionen