Open In App

getch() function in C with Examples

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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: 
 

  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




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

 



Last Updated : 01 Nov, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads