当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 ungetc()用法及代码示例



描述

C库函数int ungetc(int char, FILE *stream)推动角色char (an unsigned char)到指定的stream以便此可用于下一个读取操作。

声明

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

int ungetc(int char, FILE *stream)

参数

  • char- 这是要放回的字符。这作为它的 int 提升传递。

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

返回值

如果成功,则返回被推回的字符,否则返回 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

相关用法


注:本文由纯净天空筛选整理自 C library function - ungetc()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。