目录

sungetc

描述 (Description)

它用于减小当前位置,并尝试将受控输入序列的当前位置指示器移回一个位置,返回到当前位置之前的字符,使得该位置的字符再次可用于下一个输入操作。

声明 (Declaration)

以下是std :: streambuf :: sungetc的声明。

int sungetc();

参数 (Parameters)

没有

返回值 (Return Value)

它返回受控输入序列的新当前字符的值,作为int类型的值。

异常 (Exceptions)

Basic guarantee - 如果抛出异常,则流缓冲区处于有效状态。

数据竞争 (Data races)

它修改了流缓冲区对象。

例子 (Example)

在下面的例子中解释了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:
↑回到顶部↑
WIKI教程 @2018