Cpp-standard-library-cpp-stringbuf-sungetc
提供:Dev Guides
C ++ streambuf-sungetc
説明
現在の位置を減らすために使用され、制御された入力シーケンスの現在の位置インジケータを1つ前の文字に移動して、その位置の文字を次の入力操作で再び使用できるようにします。
宣言
- 以下は、std
- streambuf :: sungetcの宣言です。
int sungetc();
パラメーター
none
戻り値
制御入力シーケンスの新しい現在の文字の値を、int型の値として返します。
例外
基本的な保証-例外がスローされた場合、ストリームバッファは有効な状態です。
データの競合
ストリームバッファオブジェクトを変更します。
例
- 以下の例では、std
- streambuf :: sungetcについて説明しています。
#include <iostream>
#include <cstdio>
int main () {
char ch;
std::streambuf * pbuf = std::cin.rdbuf();
std::cout << "Please, enter some letters and then a number: ";
do {
ch = pbuf->sbumpc();
if ( (ch>='0') && (ch <='9') ) {
pbuf->sungetc ();
long n;
std::cin >> n;
std::cout << "You entered number " << n << '\n';
break;
}
} while ( ch != EOF );
return 0;
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Please, enter some letters and then a number: