Funkcje getch() i getchar() zwracają wartość typu int, tak wynika z ich składni. Używane są do wprowadzania pojedyńczego znaku z klawiatury w konsoli. Różnią się tym (może także czymś jeszcze;)), że funkcja getchar() daje "echo" tego co wprowadzimy z klawiatury. Tłumacząc po chłopsku, posłuże się kodem:
#include <iostream>
#include <cstdio>
#include <conio.h>
using namespace std;
int main()
{
char literka;
literka=getch();
cout<<"\n\n"<<literka<<endl<<endl;
literka=getchar();
cout<<"\n\n"<<literka<<endl<<endl;
return 0;
}
Przy wprowadzaniu znaku z użyciem getch() nie będziesz widzał co wprowadziłeś. Wciśniesz klawisz 'a', kod ascii litery 'a' (każda litera ma kod liczbowy, więc może być zapisana nie tylko do zmiennej char, ale także do zmiennej int, jak jest w definicji obu funkcji) zostanie zapisany do zmiennej literka, ale nie będziesz widział w konsoli, że taki klawisz wcisnąłeś.
Przy użyciu funkcji getchar() będzie widzał w konsoli co wprowadziłeś. Wciskasz klawisz 'a', kod litery 'a' zostanie zapisany do zmiennej literka, a ponadto będzie to echo, czylu będziesz widział w konsoli, że wprowadziłeś 'a'.