ungetc

Функция            Помещает символы обратно во входной поток.

Синтаксис          #include 
                   int ungetc(char c, FILE *stream);

Файл, содержащий   stdio.h
прототип

Описание           ungetc продвигает символ c обратно в указанный
                   входной поток stream, который должен быть открыт
                   для чтения. Этот символ может быть получен снова
                   с помощью последующего вызова функций getc или
                   fread для данного потока stream. Один символ мож-
                   но поместить обратно в любой ситуации. Второй вы-
                   зов функции ungetc без предварительного вызова
                   функции getc приведет к тому, что предыдущий сим-
                   вол будет потерян. Функции fflush,fseek, fsetpos
                   и rewind очищает все помещенные обратно в поток
                   символы.

Возвращаемое       При успешном выполнении, ungetc возвращает символ
значение           помещенный обратно в поток. Иначе он возвращает
                   EOF.

Переносимость      ungetc поддерживается в системах UNIX и сов-
                   местима с ANSI C.

Смотрите также      fgetc getc getchar

Пример:

#include
#include

int main(void)
{
   int i;
   char ch;
   puts("введите целое, а затем символ\n");
   /* считывать пока не встретится не цифра или EOF */
   while((ch=getch())!=EOF && isdigit(ch))
      i = 10 * i + ch - 48; /* преобразование в целое */
   /* если был считан симол, не являющийся цифрой, поместить ее
      обратно */
   if(ch != EOF)
      ungetc(ch,stdin);
   printf("i = %d, следующий символ в буфере: %c\n",getch());
   return 0;
}