ungetc : ungetc « stdio.h « C Tutorial






ItemValue
Header filestdio.h
Declarationint ungetc(int ch, FILE *stream);
FunctionPut the character ch back to the input stream stream. This character will be obtained by the next read operation on stream.
Returnreturns ch on success or EOF on failure.


A call to fflush(), fseek(), or rewind() discards the character.

You may not unget an EOF.

#include <stdio.h>

int main ()
{
  FILE * fp;
  int c;
  char buffer [256];
  fp = fopen ("test.txt","rt");
 
  if (fp==NULL)
    perror ("Error opening file");
  else {
    while (!feof (fp))
    {
      c=getc (fp);
      if (c == '#')
        ungetc ('@',fp);
      else
        ungetc (c,fp);
      fgets (buffer,255,fp);
      fputs (buffer,stdout);
    }
  }

  return 0; 
}








22.39.ungetc
22.39.1.ungetc