📜  C++中的basic_istream :: unget()示例(1)

📅  最后修改于: 2023-12-03 15:29:53.495000             🧑  作者: Mango

C++中的basic_istream::unget()

在C++中,basic_istream是标准输入流的基类,其成员函数unget()可以将一个字符放回流中。在本文中,我们将介绍basic_istream::unget()的用法和示例。

basic_istream::unget()的语法

basic_istream::unget()的语法如下:

basic_istream& unget();
int_type unget(char_type ch);

其中,第一个版本将流中的最后一个字符放回流中,并返回指向当前流的引用。第二个版本将指定字符放回流中,并返回其Unicode值。

basic_istream::unget()的示例

下面是一个简单的示例,演示了basic_istream::unget()的用法:

#include <iostream>
#include <sstream>
using namespace std;

int main() {
  istringstream iss("Hello, world!");
  
  char c;
  while (iss.get(c)) {
    cout << c;
    if (c == ',') {
      iss.unget();
    }
  }
  
  return 0;
}

上述代码将输出:

Hello, world!

在此示例中,我们使用istringstream对象创建了一个输入流,并使用get()方法逐字符读取流中的内容。当读取到逗号时,我们使用unget()方法将其放回流中,从而使程序可以重新读取该字符。