تابع getch در C++

آموزش برنامه نویسی سی پلاس پلاس

آموزش کار با تابع getch در زبان برنامه نویسی c++

این تابع یک کلید از صفحه کلید دریافت میکند و کد آنرا بازمیگرداند.

کلیدهای توسعه یافته دو بایتند و تابع getch فقط یک بایت را حساب و چاپ میکند ،

و چون کلیدهای توسعه یافته بیت اولشان صفر است بایستی دوبار از این تابع استفاده نماییم.ساختار دستور:


ch=getch();

مثال: برنامه ای بنویسید که یک کاراکتر را گرفته و کدش را چاپ کند؟


void main()
{
unsigned char ch;
ch= getch();
printf("%d",ch);
if(!ch)
{
   ch=getch();
   printf("%d",ch);
}
}

در برنامه بالا در بدنه اصلی یک متغییر از نوع کاراکتر تعریف شده است .

که بدون علامت است که این بدین معناست که مقدار متغییر در این کاراکتر عددی بین 0 تا 255 میباشد.

در خط بعدی با استفاده از تابع getch برنامه تا زمان دریافت مقداری از صفحه کلید منتظر میماند و پس از دریافت آن مقدار از صفحه کلید مقدار آن را در متغییر وارد میکند.

اکنون در خط بعدی مقدار موجود در متغییر ch که کد کلمه موجود بوده است بصورت عددی یا %d چاپ میشود.

در دستور خط بعد اگر تا زمانیکه مقدار دریافت شده صفر باشد برنامه به دریافت کلید از صفحه کلید ادامه میدهد و کد آنرا برمیگرداند.

برای جلوگیری از این حالت برنامه نویسان در خروجیهای خود پس از پایان برنامه از این تابع برای نشان دادن مقدار خروجی استفاده میکنند.

همانطور که میدانیم در اجرای برنامه ها در زبان برنامه نویسی سی پلاس پلاس پس از خروجی گرفتن برنامه منتظر دریافت کلید نمیماند و بلافاصله صفحه خروجی را میبندد.