basic_streambuf::sungetc
Récupère un caractère du flux.
int_type sungetc( );
Valeur de retour
Retourne le caractère ou l'échec.
Notes
Si une position de putback est disponible, la fonction membre décrémente le prochain pointeur de la mémoire tampon d'entrée et retourne traits_type::to_int_type(*gptr). Toutefois, il n'est pas toujours possible de déterminer le dernier caractère afin qu'il puisse être capturée dans l'état de la mémoire tampon active. Si cela est vrai, la fonction retourne pbackfail. Pour éviter cette situation, gardez le caractère à restaurer et l'appel sputbackc(ch), qui n'échoue pas à supposer que vous ne l'appelliez pas au début du flux et que vous n'essayiez pas de restaurer plusieurs caractères.
Exemple
// 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;
}
Entrée : basic_streambuf_sungetc.txt
testing
Sortie
t
e
e
t
t
Configuration requise
En-tête : <streambuf>
Espace de noms : std