CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
ungetc
UNGETC #include <stdio.h> int ungetc(c, stream); int c; возвращаемый символ FILE *stream; указатель на структуру типа FILE Описание. Функция ungetc возвращает символ "c" в заданный поток ввода stream. Stream должен быть буферизованным и открытым для чтения. Последующая операция чтения из stream начинается с символа "c". EOF вернуть в поток посредством использования ungetc нельзя. Эта функция возвращает значение ошибки, если из stream ничего не про- читано или если "c" назад не возвращен. Символы, размещаемые в потоке посредством ungetc, могут быть уничтожены, если функции fseek или rewind вызваны перед считыванием символа из stream. Возвращаемое значение. Эта функция возвращает аргумент символа "c". Возвращаемое значение EOF свидетельствует о неудачном возвращении заданного символа. См. также getc, getchar, putc, putchar. Пример: #inc <stdio.h> #include <ctype.h> FILE *stream; int ch; int result = 0; . . . /* следующие операторы выбирают десятичное целое из потока stream */ while ((ch = getc(stream)) != EOF && isdigit(ch)) result = result * 10 + ch - '0'; if (ch != EOF) ungetc(ch, stream); /* возвращает назад не десятичное целое. */ UNGETCH #include <conio.h> требуется только для объявления функции int ungetch(c); int c; возвращаемый символ Описание. Функция ungetch возвращает символ "c" на консоль и опреде- ляет его как следующий читаемый символ. Функция ungetch не выпол- няется, если перед следующим чтением она вызывается более чем один раз. Возвращаемое значение. Функция ungetch возвращает символ "c", если функция удачно отработала. Возвращаемое значение EOF указывает на ошибку. См.также cscanf, getch, getche. Пример: #include <conio.h> #include <ctype.h> char bufffer[100]; int count=0; int ch; /* следующий код берет обозначение, ограниченное пробелами или новыми строками, из клавиатуры */ ch = getche(); while (isspace(ch)) ch = getche(); while (count < 99) { if (isspase(ch)) break; buffer[count++] = ch; ch = getche(); } ungetch(ch); buffer[count] = '\0';