Cpp-standard-library-cpp-stringbuf-sputbackc

提供:Dev Guides
移動先:案内検索

C ++ streambuf-sputbackc

説明

これは、文字を戻すために使用され、制御された入力シーケンスの現在位置インジケータを、現在の文字の前の文字に戻します。

宣言

以下は、std
streambuf :: sputbackcの宣言です。
int sputbackc (char c);

パラメーター

*c* -戻される文字。

戻り値

戻された文字の値を、int型の値として返します。

例外

基本的な保証-例外がスローされた場合、ストリームバッファは有効な状態です。

データの競合

ストリームバッファオブジェクトを変更します。

以下の例では、std
streambuf :: sputbackcについて説明しています。
#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->sputbackc (ch);
         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: