[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
ungetc()                 Push Character Back onto the Stream

 #include   <stdio.h>

 int        ungetc(c,stream);
 int        c;                           Character to be pushed
 FILE       *stream;                     Pointer to file structure

    ungetc() pushes 'c' back onto the named input 'stream'. 'stream' must
    be buffered and open for reading.  The next call after ungetc() to
    getc() or fread() returns 'c'.  An attempt to push EOF is ignored.

    Returns:    The character argument 'c' is returned, if successful.
                EOF indicates a failure to push back 'c', or an attempt
                to push back a character before any have been read.

      Notes:    fseek() or rewind() may erase a pushed-back character if
                either is called before the character is reread.

  -------------------------------- Example ---------------------------------

    The following statements open a file, read characters, and push back
    the last character read.

         #include <stdio.h>

         FILE *stream;
         int i, ch;

         main()
         {
             if ((stream = fopen("msg.txt","r+")) != NULL) {
                i = 0;
                while ((ch = getc(stream)) != '@')
                      buffr[i++] = ch;
                ungetc(ch);
                fclose(stream);
             }
         }

See Also: ungetch() getc() putc()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson