انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: افزودن getch به لینوکس  (دفعات بازدید: 2744 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین امیرمهری

  • High Hero Member
  • *
  • ارسال: 1270
  • جنسیت : پسر
  • درورد بر اوبونتو
افزودن getch به لینوکس
« : 23 دی 1388، 07:51 ب‌ظ »
یکی از مشکلاتی که برای بسیاری از برنامه نویسان تازه مهاجرت کرده از ویندوز به لینوکس پیش میاد، نبودن کتابخانه 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/
خداحافظ وبلاگ نويسي

من كاربر حرفه اي لينوكس نيستم
فقط خوب جستجو ميكنم.

آفلاین AliRezaiMi

  • High Hero Member
  • *
  • ارسال: 1073
  • جنسیت : پسر
پاسخ به: افزودن getch به لینوکس
« پاسخ #1 : 23 دی 1388، 08:01 ب‌ظ »
ممنون از مطلبتون
بدردم خورد!

آفلاین gbmtoday

  • Jr. Member
  • *
  • ارسال: 98
  • temp !
پاسخ به: افزودن getch به لینوکس
« پاسخ #2 : 23 دی 1388، 11:17 ب‌ظ »
+1

آفلاین امیرمهری

  • High Hero Member
  • *
  • ارسال: 1270
  • جنسیت : پسر
  • درورد بر اوبونتو
پاسخ به: افزودن getch به لینوکس
« پاسخ #3 : 27 دی 1388، 07:49 ق‌ظ »
خداحافظ وبلاگ نويسي

من كاربر حرفه اي لينوكس نيستم
فقط خوب جستجو ميكنم.

آفلاین arastoo.s

  • Jr. Member
  • *
  • ارسال: 70
  • جنسیت : پسر
پاسخ به: افزودن getch به لینوکس
« پاسخ #4 : 05 بهمن 1388، 01:23 ب‌ظ »
دوست عزیز دستت درد نکنه که این پست زیبا و با محتوا رو زدی اما میتونیم از getchar() استفاده کنیم که در خود  پیش پردازنده stdio.h موجود است
I am bad person , you don't like me , so never  Judge me