Поделиться через


basic_streambuf::sungetc

Возвращает символ из потока.

int_type sungetc( );

Возвращаемое значение

Возвращает или знак или сбой.

Заметки

Если позиция putback доступна, функция-член уменьшает следующий указатель для входного буфера, и возвращает traits_type::to_int_type(*gptr).Однако не всегда можно определить последнего чтения символ так, чтобы он может быть перенаправлен в состоянии текущего буфера.Если это значение равно true, то функция возвращает pbackfail.Чтобы избежать такой ситуации необходимо отслеживание знака для помещения назад и вызвать sputbackc(ch), которое не завершится неудачей, не вызывает его в начале потока, а не пытаться разместить обратно несколько символов.

Пример

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

Вход: basic_streambuf_sungetctxt.

testing

zz53e1ew.collapse_all(ru-ru,VS.110).gifOutput

t
e
e
t
t

Требования

заголовок: <streambuf>

std пространство имен:

См. также

Ссылки

basic_streambuf Class

программирование iostream

соглашения iostreams