Difference between getc(), getchar(), getch() and getche()


All these functions read the character from input and return an integer. The value of EOF is used for this purpose.

getc()

It reads a single character from the input and return an integer value. If it fails, it returns EOF.

Here is the syntax of getc() in C language,

int getc(FILE *stream);

Here is an example of getc() in C language,

Example

 Live Demo

#include<stdio.h>
int main () {
   char val;
   printf("Enter the character: 
");    val = getc(stdin);    printf("Character entered: ");    putc(val, stdout);    return(0); }

Output

Enter the character: a
Character entered: a

getchar()

The function getchar() reads the character from the standard input while getc() reads from the input stream. So, getchar() is equivalent to getc(stdin).

Here is the syntax of getchar() in C language,

int getchar(void);

Here is an example of getchar() in C language,

Example

 Live Demo

#include <stdio.h>
int main() {
   char val;
   val = getchar();
   printf("Enter the character : 
");    printf("Entered character : %c", val);    return 0; }

Output

Enter the character : n
Entered character : n

getch()

The function getch() is a non-standard function. It is declared in “conio.h” header file. Mostly it is used by Turbo C. It is not a part of C standard library. It immediately returns the entered character without even waiting for the enter key.

Here is the syntax of getch() in C language,

int getch();

Here is an example of getch() in C language,

Example

#include <stdio.h>
#include<conio.h>
int main() {
   char val;
   val = getch();
   printf("Enter the character : ");
   printf("Entered character : %c", val);
   return 0;
}

Output

Enter the character : m
Entered character : m

getche()

Like getch(), the getche() function is also a non-standard function and declared in “conio.h” header file. It reads a single character from the keyboard and returns it immediately without even waiting for enter key.

Here is the syntax of getche() in C language,

int getche(void);

Here is an example of getche() in C language,

Example

#include <stdio.h>
#include<conio.h>
int main() {
   char val;
   val = getche();
   printf("Enter the character : ");
   printf("Entered character : %c", val);
   return 0;
}

Output

Enter the character : s Entered character : s

Samual Sam
Samual Sam

Learning faster. Every day.

Updated on: 24-Jun-2020

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements