What are the uses of getch in C++ ?What is the actual purpose for which it was made? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 20

What are the uses of getch in C++ ?What is the actual purpose for which it was made?

1st Apr 2018, 2:27 PM
Rishu Kumar
Rishu Kumar - avatar
29 Answers
+ 34
getch() is a predefined function in "conio.h" (console input output header file) this will tell to the console to wait for some time until a key is hit given after running of program. By using this function we can read a character directly from the user... https://www.sitesbay.com/cpp/cpp-clrscr()-and-getch() std::cin.get() will probably be the closest equivalent to it I guess...
2nd Apr 2018, 8:58 AM
🌛DT🌜
🌛DT🌜 - avatar
+ 16
Alex and others thanks a lot for your answers.Like Shardul and Manish told, whenever I code in turbo C++, I use getch so that the output can be seen before the program ends and I used to think that it is necessary to use this function like main but the c++ used in sololearn doesn't require this and it is quite different from turbo c++. Can you tell me a proper method other than getch or getche to see output in turbo c++?
2nd Apr 2018, 4:49 PM
Rishu Kumar
Rishu Kumar - avatar
+ 12
It is a left over from C. All the C i/o functions still exist and can be used. But, cin and cout are the new and improved C++ i/o. As Alex stated, it was how you read a character.
1st Apr 2018, 3:56 PM
John Wells
John Wells - avatar
+ 7
Get character. It was made to input a character.
1st Apr 2018, 2:54 PM
Alex
Alex - avatar
+ 6
It's used to pause the console for the user to see the output. If you don't use it, the console will exit as soon as the program ends and user can't see the output. But now,compilers pause the console after program ends, so it's not necessary to use. mainly getch(); takes a single char from the user and it's a input function! char c=getch();
2nd Apr 2018, 9:14 AM
Jaber Ahmed
Jaber Ahmed - avatar
+ 5
Manish $hardul Birje You have some misunderstanding of what happens. It's not "bringing the console" or enables the program to run. In your cases you probably used it for the reason some others mentioned before. It holds the program until a key is pressed. The console would get closed as soon as the program arrives at the return statement of the main function, and you used getch to pause it before it actually finishes the programs (and therefore closes the console). If you would run your compiled exe in a command prompt you would see the output even without the getch. Putting a breaking point before the return statement would have the same effect when debugging your program.
2nd Apr 2018, 3:52 PM
Alex
Alex - avatar
+ 4
the main function of getch in c++ is to bring the output screen if we do not include getch we can not see the output sometimes we usese return
2nd Apr 2018, 2:44 PM
Manish
Manish - avatar
+ 4
Well when I used the conio.h library function.. I couldn't run the program without getch()...so I think it is for the program to run 😅
2nd Apr 2018, 3:41 PM
$hardul B
$hardul B - avatar
+ 4
In Turbo C++ it is necessary for to define getch(); so as to be able to see the output screen If it is not present then the output will be produced within few second but the output screen doesn't pauses.... While coding C program in Dev Cpp getch(); is NOT needed...
3rd Apr 2018, 11:35 AM
Noman Khan
Noman Khan - avatar
+ 3
Actually we do not need to give any function for the display of result. But in some compilers it won't work properly. So getch () is used . getch () means get character . It is a predefined function present in conio.h library. To display the characters to the user in the turbo c or turbo c++ we use getch ().
5th Apr 2018, 6:13 AM
அபிஷேக் அபி
+ 2
getch() is a predefined function which freezes the screen until a key is hit by the user.
2nd Apr 2018, 12:52 PM
Kartik Sumrani
Kartik Sumrani - avatar
+ 2
The getch() function is from the conio.h (console input output header file) and is used to get a character from the keyboard. It makes the flow of control wait until a key has been detected! It also returns the detected key! Another related function is getche() which gets a character from the keyboard, like getch(), but also echoes the entered key on the output screen. getche() can be explained as: void std::getche() { std::cout << getch(); }
3rd Apr 2018, 4:33 PM
Naveen Maurya
Naveen Maurya - avatar
+ 2
it is use to pause the console screen for the user until you press a key.
9th Apr 2018, 7:22 PM
Naman
Naman - avatar
+ 1
getch() function is used in C++ to pause the screen until a keystroke is given by the user
3rd Apr 2018, 6:02 AM
N1H4R
N1H4R - avatar
+ 1
could anyone explain about friend function simply and how it works?
4th Apr 2018, 6:53 AM
Sindhu Sri
Sindhu Sri - avatar
+ 1
In c or c++ console screen doesn't wait . but we want to see my output. console screen will wait when asking for input only. so, getch() is input function predefined in conio.h, we put the getch() at the end of the program to see my output properly, getch doesn't work for holding the console screen. Function is getch() is taking an input of a single charecter. means that if any charecter of keyboard is pressed then program will complete it's execution.
4th Apr 2018, 9:53 AM
Amit Kumar Maurya
Amit Kumar Maurya - avatar
+ 1
Friend function is a function that can access private variables from a class
4th Apr 2018, 10:50 AM
shashuri Magrease
shashuri Magrease - avatar
+ 1
getch use for character and it understand space between 2 words
5th Apr 2018, 9:49 PM
Mohamad Shamsi
Mohamad Shamsi - avatar
+ 1
The main reason I see this used in (others) code is when compiling on Windows, wherein a "cmd.exe" 'console' is opened (as Windows, without additional software, has no UNIX like concept of stdout or stderr. Thus, once the int main( int argc, const char **argv ) { ... } function reaches 'return 0;', the execution of the 'console' program is terminated and the helper cmd.exe is killed along with the termination of main. So, in order to see the output of your program without reaching the return statement at the end of Main, you must have some type of conditional statement which will hold the run loop in definitely until some particular action is taken by the user. You could also just use a infinite loop and kill the program using the debugger stop function. For example, the following snippet will wait for any input (followed with a new line) and execution will continue after that. int main( ... ) { /* stuff you want to see */ #pragma mark prepare for exiting char inVal = NULL; std::cout << "press enter to exit. "; while( inVal == NULL ) { inVal = getch(); fprintf( stderr , "\nReceived a character indicating it's time to exit...bye bye.\n" ); return( 0 ); }; /* not reached */ return( 0 ); }
7th Apr 2018, 6:49 PM
sietecFAST
sietecFAST - avatar
+ 1
getch() is simply used to hold the output screen so that user can see the output after running the program..... Alternatively if one escape the getch(), one can press alt+f5 key to see the output after execution
9th Apr 2018, 10:52 AM
Radhika Sharma
Radhika Sharma - avatar