C++ basic_istream--unget()

2025 年 3 月 21 日 | 阅读 2 分钟

basic_istream::unget() 函数用于取消获取字符,这也会将位置减少一个字符,并允许重新使用已获取的字符。应提供相应的头文件。

使用 basic_istream::unget() 方法的目的是将字符返回到流中,使其可以在以后阶段轻松处理。此函数可以将位置降低一个字符,实质上恢复了之前删除的字符。

头文件

它包含 <iostream> 头文件。

语法

它具有以下语法:

参数: basic_istream::unget() 函数不接受任何参数。

返回值: basic_istream::unget() 方法返回 basic_istream 对象。

以下程序解释了 std::basic_istream::unget()

示例

文件名:Ungetting1.cpp

输出

We got: P
After the ungetting, the character is: P

示例 2

文件名:Ungetting2.cpp

输出

We got: L
After the ungetting, the character is: L

说明

  • istringstream con("Language");: 它使用字符串 "Language" 初始化一个输入字符串流 con。
  • char a= con.get();: 如果 (con.unget()) 为 true,它会从流中读取第一个字母('L')并将其放入变量 a 中。{ ... }:将字符从流中“unget”。unget() 方法将流位置返回一个字符。如果成功,它将返回 true。

在 if 块内

  • char be = con.get();: unget() 后,从流中读取一个元素。它应该返回之前读取的相同元素('L'),因为它已被“unget”回流。
  • a 和 be 的值将打印在终端上。

下一主题Strerror-s-in-cpp