getch() function in C with Examples - GeeksforGeeks

16 Jul, 2021
getch() is a nonstandard function and is present in conio.h header file which is mostly used by MS-DOS compilers like Turbo C. It is not part of the C standard library or ISO C, nor is it defined by POSIX.Like these functions, getch() also reads a single character from the keyboard. But it does not use any buffer, so the entered character is immediately returned without waiting for the enter key.Syntax:  
int getch(void);
Parameters: This method does not accept any parameters.Return value: This method returns the ASCII value of the key pressed.Example: 
C
// Example for getch() in C #include <stdio.h> // Library where getch() is stored#include <conio.h> int main(){    printf("%c", getch());    return 0;}
Input:  g (Without enter key)
Output: Program terminates immediately.
        But when you use DOS shell in Turbo C, 
        it shows a single g, i.e., 'g'
Important Points regarding getch() method:  
getch() method pauses the Output Console until a key is pressed.It does not use any buffer to store the input character.The entered character is immediately returned without waiting for the enter key.The entered character does not show up on the console.The getch() method can be used to accept hidden inputs like password, ATM pin numbers, etc.
getch() method pauses the Output Console until a key is pressed.
It does not use any buffer to store the input character.
The entered character is immediately returned without waiting for the enter key.
The entered character does not show up on the console.
The getch() method can be used to accept hidden inputs like password, ATM pin numbers, etc.
Example: To accept hidden passwords using getch()Note: Below code won’t run on Online compilers, but on MS-DOS compilers like Turbo IDE. 
C
// C code to illustrate working of// getch() to accept hidden inputs #include <conio.h>#include <dos.h> // delay()#include <stdio.h>#include <string.h> void main(){     // Taking the password of 8 characters    char pwd[9];    int i;     // To clear the screen    clrscr();     printf("Enter Password: ");    for (i = 0; i < 8; i++) {         // Get the hidden input        // using getch() method        pwd[i] = getch();         // Print * to show that        // a character is entered        printf("*");    }    pwd[i] = '\0';    printf("\n");     // Now the hidden input is stored in pwd[]    // So any operation can be done on it     // Here we are just printing    printf("Entered password: ");    for (i = 0; pwd[i] != '\0'; i++)        printf("%c", pwd[i]);     // Now the console will wait    // for a key to be pressed    getch();}
Output:  
Abcd1234
Output:  
Enter Password: ********
Entered password: Abcd1234
 
adnanirshad158
Articles
C Language
C Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Mutex vs Semaphore
Time Complexity and Space Complexity
SQL | Views
Analysis of Algorithms | Set 2 (Worst, Average and Best Cases)
SQL Interview Questions
Dynamic Memory Allocation in C using malloc(), calloc(), free() and realloc()
Arrays in C/C++
std::sort() in C++ STL
Bitwise Operators in C/C++
Multidimensional Arrays in C / C++