Вернуть символ во входной поток
#include <stdio.h>int ungetc( int c,FILE *fp );
libc
Функция ungetc() возвращает символ, определённый c на вход потоку, на который указывает fp. Символ будет возвращён в следующий раз, когда будет происходить чтение из потока. Возвращёный символ будет отвергнут при использовании fflush() или функций позиционирования в файле ( fseek(), fsetpos(), или rewind()) перед следующей операцией чтения.
Гарантируется возвращение только одного символа (самого последнего).
Функция ungetc() удаляет индикатор конца файла, если значение c не EOF
.
Возвращёный символ.
#include <stdio.h>#include <stdlib.h>#include <ctype.h>int main( void ){FILE *fp;int c;long value;fp = fopen( "file", "r" );value = 0;c = fgetc( fp );while ( isdigit( c ) ){value = value * 10 + c - '0';c = fgetc( fp );}ungetc( c, fp ); /* put last character back */printf( "Value=%ld\n", value );fclose( fp );return (EXIT_SUCCESS);}
ANSI, POSIX 1003.1
fopen(), getc(), getc_unlocked(), ungetwc()
Предыдущий раздел: Описание API системной библиотеки