| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
getch() and kbhit() - C++ problem
These two functions are referred to in a C++ book I recently borrowed from a teacher here at school. It is designed for Windows users, but most of the code is compatible with my platform. However, it makes references to getch(), which apparently is supposed to return the key pressed by the user, and kbhit(), which returns true only when a key is pressed. The book says that, along with some other functions, they are found in conio.h.
Therein lies my problem. The header conio.h is not on my system, for whatever reason. I am running Red Hat Linux 8, and my C++ include directory is /usr/include/c++/3.2. It's simply not in there. Would anyone happen to have the source code for conio.h so I can put it there? |
|
#2
|
|||
|
|||
|
This may be of use to you
http://www.opengroup.org/onlinepubs/007908799/xcurses/getch.html Unix/Linux/VAX VMS used curses to do this. Also this may help from a quick search on the www... http://www.c-for-dummies.com/lessons/linux/04/ see below... About the getch(), Ive tried with the curses way but found it a bit unstylish... I have found a way to do it as follows: void set_keypress(void) { struct termios new_settings; tcgetattr(0,&stored_settings); new_settings = stored_settings; new_settings.c_lflag &= (~ICANON); new_settings.c_cc[VTIME] = 0; tcgetattr(0,&stored_settings); nnew_settings.c_cc[VMIN] = 1; tcsetattr(0,TCSANOW,&new_settings); } This takes away the buffering in the Linux terminals so that you don't have to press the Enter key afterwards. You have to include the header file TERMIO.H. And after you run this code you can use the getchar() function and it works just like getch() does in Windows/DOS programs. To reset you do as follows: void reset_keypress(void) { tcsetattr(0,TCSANOW,&stored_settings); } Hope this helps Brian |
|
#3
|
|||
|
|||
|
what about <conio.c> ? have you tried that library?
|
![]() |
| Viewing: Dev Articles Community Forums > Programming > C/C++ Help > getch() and kbhit() - C++ problem |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|