Pushes a character back to the keyboard
Declaration:
int ungetch(int ch);
Remarks:
ungetch pushes the character ch back to the console, causing ch to be the
next character read.
ungetch fails if it is called more than once before the next read.
Return Value:
On success, returns the character ch.
On error, returns EOF.
Example:
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int main( void )
{
int i=0;
char ch;
puts("Input an integer followed by a char:");
/* read chars until non digit or EOF */
while((ch = getche()) != EOF && isdigit(ch))
i = 10 * i + ch - 48; /* convert ASCII into int value */
/* if non digit char was read, push it back into input buffer */
if (ch != EOF)
ungetch(ch);
printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
return 0;
}
0 comments:
Post a Comment