次の方法で共有


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(ja-jp,VS.110).gif出力

t
e
e
t
t

必要条件

ヘッダー: <streambuf>

名前空間: std

参照

関連項目

basic_streambuf Class

入出力ストリームのプログラミング

入出力ストリームの規則