C Tutorial/stdio.h/ungetc
ungetc
Item Value Header file stdio.h Declaration int ungetc(int ch, FILE *stream); Function Put the character ch back to the input stream stream. This character will be obtained by the next read operation on stream. Return returns 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;
}