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
出力
t
e
e
t
t
必要条件
ヘッダー: <streambuf>
名前空間: std