当前位置: 首页 > 文档资料 > C 标准库 中文版 >

int ungetc(int char, FILE *stream)

优质
小牛编辑
127浏览
2023-12-01

描述 (Description)

C库函数int ungetc(int char, FILE *stream)将字符char (an unsigned char)推送到指定的stream以便下次读取操作可用。

声明 (Declaration)

以下是ungetc()函数的声明。

int ungetc(int char, FILE *stream)

参数 (Parameters)

  • char - 这是要放回的角色。 这是作为int推广传递的。

  • stream - 这是指向标识输入流的FILE对象的指针。

返回值 (Return Value)

如果成功,则返回被推回的字符,否则返回EOF并且流保持不变。

例子 (Example)

以下示例显示了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