Format
#include <conio.h> int _ungetch(int c);
Language Level: Extension
_ungetch pushes the character c back to
the keyboard, causing c to be the next character read.
_ungetch fails if called more than once before the next read
operation. The character c cannot be the EOF
character.
Return Value
If successful, _ungetch returns the
character c. A return value of EOF indicates an error.
Example
This example uses _getch to read a string
delimited by the character 'x'. It then calls _ungetch to return
the delimiter to the keyboard buffer. Other input routines can
then process the delimiter.
#include <conio.h> #include <stdio.h>
int main(void)
{
int ch;
printf("\nType in some letters.\n");
printf("If you type in an 'x', the program ends.\n");
for(;;) {
ch = _getch();
if ('x' == ch) {
_ungetch(ch);
break;
}
_putch(ch);
}
ch = _getch();
printf("\n");
printf("\nThe last character was '%c'.", ch);
return 0;
/***************************************************
Here is the output from a sample run:
Type in some letters.
If you type in an 'x', the program ends.
One Two Three Four Five Si
The last character was 'x'.
***************************************************/
}
![]()
_cscan -- Read Data From
Keyboard
_getch - _getche
-- Read Character from Keyboard
_putch -- Write
Character to Screen
ungetc -- Push
Character onto Input Stream
<conio.h>