C Tutorial/stdio.h/ungetc

Материал из C\C++ эксперт
Перейти к: навигация, поиск

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.


<source lang="cpp">#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; 

}</source>