Skip to content
Related Articles

Related Articles

getch() function in C with Examples

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 16 Jul, 2021
View Discussion
Improve Article
Save Article

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.

int getch(void);

Parameters: This method does not accept any parameters.
Return value: This method returns the ASCII value of the key pressed.


// 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: 

  1. getch() method pauses the Output Console until a key is pressed.
  2. It does not use any buffer to store the input character.
  3. The entered character is immediately returned without waiting for the enter key.
  4. The entered character does not show up on the console.
  5. 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 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
    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
    pwd[i] = '\0';
    // 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




Enter Password: ********
Entered password: Abcd1234


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!