看了有的博主说此函数不能用于键盘输入的流,为了纠正那些博主的言论,特写了这个简单的代码作为ungetc() 函数的使用分析,希望能帮到需要的人
ungetc() 函数声明为:int ungetc(int c, FILE *fp);
作用:把 c 指定的字符放回输入流中
如果把一个字符放回输入流,下次调用标准输入函数时将读取该字符
ANSI C 标准保证ungetc() 每次只放回一个字符,如果实现允许一行中的多个字符放回输入流,那么下一次输入函数读入的字符顺序与放回时的顺序相反
下面用一个在标准输入文件,键盘读取字符以及把字符放回到标准文件的操作作为参考:
#include<stdio.h> //提供ungetc()函数原型
int main(void){
int ch;
while((ch=getchar())!='s'){
continue;
}
ungetc(ch,stdin