📜  C++ ungetc()(1)

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

C++ ungetc()

在C++中,我们使用ungetc()函数将字符推回输入流(stdin)。

int ungetc(int c, FILE *stream);

该函数将字符c推回到流stream中,并使下一个读取操作返回该字符。如果c不是可用于当前流的字符,则返回EOF

使用示例

下面的示例将读取一个字符,并将其推回输入流:

#include <iostream>
#include <cstdio>

using namespace std;

int main () {
   int c;

   // 从stdin读取字符
   c = getchar();

   // 输出字符
   cout << "Character read: " << (char)c << endl;

   // 将字符推回stdin
   ungetc(c, stdin);

   // 重新读取字符
   c = getchar();

   // 输出字符
   cout << "Character read: " << (char)c << endl;

   return 0;
}

输出结果如下:

Hello World!
Character read: H
Character read: H

从结果可以看出,我们使用ungetc()函数将字符H推回到输入流中,并通过再次调用getchar()函数读取它。

注意事项
  • 可以多次调用ungetc()函数将多个字符推回输入流中。
  • 如果需要检查字符是否被成功退回,则可以使用feof()ferror()函数。