ungetc()

#include <stdio.h>
int ungetc(int ch, FILE *stream);

Описание

Возвращает символ, заданный младшим байтом

Функция ungetc() возвращает символ, заданный младшим байтом параметра ch, в поток ввода stream. Этот символ будет затем получен при последующей операции чтения потока stream. Обращение к таким функциям, как fflush(), fseek() и rewind(), аннулирует операцию ungetc() и сбрасывает этот символ.

Возврат в поток одного символа гарантирован, однако некоторые реализации допускают возврат большего числа символов.

Попытка вернуть в поток ввода значение EOF игнорируется.

Обращение к функции ungetc() очищает признак конца файла, связанный с заданным потоком. Значение индикатора позиции файла для текстового потока не определено до тех пор, пока не будут прочитаны все возвращенные символы, и в этом случае оно остается таким же, каким было до первого вызова функции ungetc(). При работе с двоичными потоками каждый вызов функции ungetc() декрементирует индикатор позиции файла.

Функция возвращает значение ch при успешном завершении и значение EOF в противном случае.