Partilhar via


basic_streambuf::sungetc

Obtém um caractere do fluxo.

int_type sungetc( );

Valor de retorno

Retorna o caractere ou falha.

Comentários

Se uma posição de putback estiver disponível, a função de membro diminui o próximo ponteiro para o buffer de entrada e retorna traits_type::to_int_type(*gptr). No entanto, nem sempre é possível determinar o último caractere ler de modo que possa ser capturada no estado do buffer atual. Se isso for true, a função retorna pbackfail. Para evitar essa situação, mantenha-se o controle de caractere para colocar ao backup e a chamada sputbackc(ch), que não falhará caso contrário a seguir chama no início do fluxo e não tenta colocar a parte retornar mais de um caractere.

Exemplo

// 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;
}

Entrada: basic_streambuf_sungetc.txt

testing

Saída

t
e
e
t
t

Requisitos

streambuf <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe basic_streambuf

Programação iostream

Convenções iostreams