یکی از مشکلاتی که برای بسیاری از برنامه نویسان تازه مهاجرت کرده از ویندوز به لینوکس پیش میاد، نبودن کتابخانه conio.h و در پی آن نبودن تابع پرکاربرد ()getch است. برای رفع این مشکل کافی چند دقیقه صبر کنید.
gedit (و یا هر ویرایشگر متنی دیگری) را باز کنید و کد زیر را در آن کپی کنید:
01 #ifndef LINCH_H_
02 #define LINCH_H_
03 #include <termios.h>
04 #include <unistd.h>
05 int getch(void)
06 {
07 struct termios oldt,
08 newt;
09 int ch;
10 tcgetattr( STDIN_FILENO, &oldt );
11 newt = oldt;
12 newt.c_lflag &= ~( ICANON | ECHO );
13 tcsetattr( STDIN_FILENO, TCSANOW, &newt );
14 ch = getchar();
15 tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
16 return ch;
17 }
18 #endif /* LINCH_H_ */
حال این فایل را با نام linch، بدون پسوند در مسیر /usr/include/c++/4.3 ذخیره نمائید. تمام شد.
برای تست، برنامه زیر را امتحان میکنیم:
01 #include <iostream>
02 using namespace std;
03 #include <linch>
04 void main()
05 {
06 char ch;
07 cout<<"Please enter a char >>> ";
08 ch=getch();
09 cout<<ch;
10 }
منبع
http://blog.anarnet.ir/1388/09/add-getch-to-linux/