یکی از مشکلاتی که برای بسیاری از برنامه نویسان تازه مهاجرت کرده از ویندوز به لینوکس پیش میاد، نبودن کتابخانه conio.h و در پی آن نبودن تابع پرکاربرد ()getch است. برای رفع این مشکل کافی چند دقیقه صبر کنید.
gedit (و یا هر ویرایشگر متنی دیگری) را باز کنید و کد زیر را در آن کپی کنید:
#ifndef LINCH_H_
#define LINCH_H_
#include <termios.h>
#include <unistd.h>
int getch(void)
{
struct termios oldt,
newt;
int ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch = getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}
#endif /* LINCH_H_ */
حال این فایل را با نام linch، بدون پسوند در مسیر /usr/include/c++/4.3 ذخیره نمائید. تمام شد.
برای تست، برنامه زیر را امتحان میکنیم:
#include <iostream>
using namespace std;
#include <linch>
void main()
{
char ch;
cout<<"Please enter a char >>> ";
ch=getch();
cout<<ch;
}
