getch() function in C
getch() is a pre-define or built-in function present in the conio.h library. It returns the given character immediately without waiting for the enter key to be entered. By using getch() function, we can read a single character.
By this function, the output console is paused until a key is pressed. In turrbo c software, if we give getch() function, it shows the output window directly.
The function prototype style is with return values and without parameters. ie, int getch( void ). The return data type returns the ASCII value of the given character to the main function. It also accepts the hidden characters inputs, passwords, security pins, Atm pins etc. This is used in MS-DOS compiler ex: Turbo C.
Advantages of getch() function:
- A single character can be read using this function.
- The character which we entered is returned immediately without entering the enter key.
- By using this function, we can pause the output console.
- The given character won’t be visible on the output screen.
Disadvantages of getch() function:
- The getch() reads the single character. If you enter hi, it only reads h.
Example 1:
// program to display the given character using getch() function.
#include <stdio.h>
#include<dos.h>
#include<conio.h> //including the header file
int main() // main function
{
printf(" Enter the character ");
printf(" \nThe Enter character is: %c", getch() ); // function calling
return 0;
}
Output:
Enter the character:
The Entered character is: p
The input character is hidden on the output screen.
Example 2:
// program to print the given string using getch() function:
#include <stdio.h>
#include<dos.h>
#include<conio.h> // including the library
int main()
{
char a[11] = {0};// initilizing the string
int i;
printf(" Enter the string\n");
for( i = 0; i < 11; i++)
{
a[i] = getch(); // calling getch() function to read the character
}
printf(" The entered string using getch() function is: %s", a); // printing the string
return 0;
}
Output:
Enter the string:
The entered string is: JavaTpoint
The input won’t be displayed on the output screen.
Example 3:
// program to print the sorted array and pause the console output screen for a while.
#include <stdio.h>
#include<dos.h>
#include<conio.h> // including the header file
#define max 100
int main()
{
int n, a[max], i, j, t; // declaring teh variables
printf("Enter the size of the array: ");
scanf("%d", &n); // reading the array size
printf(" \nEnter the array elements: ");
for( i=0; i<n; i++) // reading the array elements
{
scanf("%d", &a[i]);
}
printf(" \nEntered array before sorting: "); // printing the array elements before sorting
for( i=0;i<n; i++)
{
printf("%d ", a[i]);
}
printf(" \nArray sorting starts:");
for( i=0;i<n-1;i++) // sorting the array elements
{
for(j=0;j<n-i-1;j++)
{
if( a[j]>a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
printf(" \nEntered array after sorting: "); // printing the sorted array
for( i=0;i<n; i++)
{
printf("%d ", a[i]);
}
getch(); // holding the console output screen using getch() function.
return 0;
}
Output:
Enter the size of the array: 10
Enter the array elements: 56 98 45 3 80 90 7 4 1 30
Entered array before sorting: 56 98 45 3 80 90 7 4 1 30
Array sorting starts:
Entered array after sorting: 1 3 4 7 30 45 56 80 90 98
In this program the output screen is paused until the enter key is entered.
Example 4:
// program to take the password and hiding on the output screen.
#include<stdio.h>
#include<conio.h>
void main()
{
char w[10];
int i;
printf(" Please Enter the correct password: ");
for (i = 0; i < 10; i++)
{
// accepts the hidden password using the getch() function
w[i] = getch(); // function call
printf("#"); // print the input chartered in the form of #
}
w[i] = '\0';
printf( "\n" );
printf("The password which you entered on input screen: ");
for (i = 0; w[i] != '\0'; i++)
{
printf("%c", w[i]);
}
getch(); // holding the console output screen
}
Output:
Please enter the correct password: ##########
The password which you entered on the input screen: JavaTpoint
Here the password is hidden on the input screen by using the getch() function.
The getch() function wont display the entered character onthe output screen. This is the advantage of the getch() function.