ungetc()函数用于将字符退回到输入流。
ungetc()函数 语法
int ungetc(char c,FILE*p);
参数c为要退回的字符;
参数p为要退回到的输入流。
ungetc()函数返回字符c。
ungetc()函数 示例
本示例使用ungetc函数将非数字字符退回到输入流中,其具体代码如下所示:
#include<stdio.h>
#include<ctype.h>
int main(void)
{
int i=0;
char c;
puts("Input an integer followed by a char:");/*输出提示信息*/
while((c=getchar())!=EOF&&isdigit(c))/*读取字符,直到输入非数字字符*/
i=10*i+c-48;/*将ASCII码值转换为整数值*/
if(c!=EOF)/*若输入非数字字符,将其退回输入流*/
ungetc(c,stdin);
printf("i=%d,next char in buffer=%c ",i,getchar());/*向输入流中退回字符*/return 0;
}
运行结果如图所示。