Microsoft KB Archive/41198

From BetaArchive Wiki

How ungetch() Works with getch() and getche()


5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a | 1.00 1.50 MS-DOS | OS/2 | WINDOWS kbprg ---------------------------------------------------------------------- The information in this article applies to: - The C Run-time (CRT), included with: - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax - Microsoft C for OS/2, versions 5.1, 6.0, and 6.0a - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C++ for Windows, versions 1.0 and 1.5 ---------------------------------------------------------------------- SUMMARY ======= The Microsoft C run-time function ungetch() pushes back a character to be read in by the next call to getch() or getche(). The character is pushed back to a internal buffer, not the keyboard buffer. The function getch() or getche() checks the internal buffer before it calls the DOS interrupt function to read input from the keyboard buffer. If the internal buffer is not empty, it returns the value in the buffer without calling the Interrupt 21H function. MORE INFORMATION ================ Pushing a character back to the keyboard buffer can be done on some machines by calling BIOS keyboard service, Interrupt 16H function 05H with scan code in the register CH and the character's ASCII code in the register CL. Note that this BIOS function may not be supported on all machines. Be sure to check the BIOS documentation for your machine before you try to use this function. Additional reference words: kbinf 5.00 5.10 6.00 6.00a 6.00ax 7.00 1.00 1.50 KBCategory: kbprg KBSubcategory: CRTIss

Keywords : kb16bitonly
Issue type :
Technology : kbVCsearch kbAudDeveloper kbCRT

Last Reviewed: May 5, 2001
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.