📅  最后修改于: 2023-12-03 15:29:51.665000             🧑  作者: Mango
在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()
函数。