Partager via


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

Voir aussi

Référence

basic_streambuf, classe

iostream, programmation

iostreams, conventions