返回值
如果成功,它将返回被推回的字符,否则,将返回EOF并且流保持不变。
示例
以下示例显示ungetc()函数的用法-
#include <stdio.h>
int main () {
FILE *fp;
int c;
char buffer [256];
fp = fopen("file.txt", "r");
if( fp == NULL ) {
perror("Error in opening file");
return(-1);
}
while(!feof(fp)) {
c = getc (fp);
/* replace ! with + */
if( c == '!' ) {
ungetc ('+', fp);
} else {
ungetc(c, fp);
}
fgets(buffer, 255, fp);
fputs(buffer, stdout);
}
return(0);
}
让我们假设,我们有一个文本文件file.txt,其中包含以下数据。该文件将用作示例程序的输入-
this is tutorials point
!c standard library
!library functions and macros
现在,让我们编译并运行上面的程序,它将产生以下结果-
this is tutorials point
+c standard library
+library functions and macros