C++ میں getch فنکشن

C My Getch Fnkshn



C اور C++ پروگرامنگ زبانوں کے ڈومین میں، مختلف قدرتی طریقے اور لائبریریاں استعمال کی جاتی ہیں۔ اس مضمون میں، ہم C++ کے getch() طریقہ کار کا باریک بینی سے جائزہ لیں گے۔ getch() فنکشن کا استعمال اس وقت کیا جاتا ہے جب ہم اپنے کی بورڈ سے حروف کی ایک تار کو پڑھنا چاہتے ہیں، اور یہ اسکرین پر آؤٹ پٹ کو پیش نہیں کرتا ہے۔ یہاں، ہم آپ کی آگاہی کے لیے درست مثالوں اور ثبوتوں کی مدد سے اس getch() فنکشن کو درست طریقے سے دریافت کریں گے۔ صارف سے ان پٹ لینے کے لیے یہ طریقہ زیادہ تر C++ میں کنسول پر مبنی (آؤٹ پٹ) منظرناموں میں قابل استعمال ہے۔

C++ میں Getch() کیا ہے؟

C++ میں، 'cstdio' ہیڈر فائل نامی لائبریری زیادہ تر getch() فنکشن کے لیے استعمال ہوتی ہے۔ Getch() کی تعریف 'conio' میں بھی کی گئی ہے۔ h' ہیڈر فائل جو کمپائلر کے لیے مخصوص ہے اور یہ ایک غیر معیاری فنکشن ہے کیونکہ یہ مکمل طور پر C++ لائبریری کے معیار کا حصہ نہیں ہے۔ getch کا مخفف 'get character' ہے اور اسے آؤٹ پٹ اسکرین پر تھوڑی دیر تک رہنے کے لیے استعمال کیا جاتا ہے جب تک کہ صارف ان پٹ پاس نہ کر دے۔

آئیے مثالوں کی مدد سے اس تصور کو صحیح طریقے سے بیان کرتے ہیں۔ یہاں، ہم مناسب منظرناموں کی مدد سے C++ میں getch() طریقہ کار کے نحو، استعمال اور برتاؤ کے بارے میں سیکھیں گے۔







منظر نامہ 1: مینو سے چلنے والی ایپلیکیشن میں Getch() کا استعمال کیسے کریں۔

آئیے مینو سے چلنے والی چھوٹی ایپلیکیشن کے بارے میں بات کریں جس کے لیے ہم مختلف آپشنز کی فہرست بنائیں گے۔ ہر آپشن کو مختلف مقاصد کے لیے ڈیزائن کیا گیا ہے جیسے ریستوراں کا مینو۔ اس مثال کے کوڈ کا ٹکڑا درج ذیل میں منسلک ہے:



# شامل کریں
# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( ) {
چار انتخاب ;
std :: cout << 'ریسٹورنٹ مینو: \n ' ;
std :: cout << '1. آپشن 1: پیزا \n ' ;
std :: cout << '2. آپشن 2: برگر \n ' ;
std :: cout << '3. آپشن 3: کیک \n ' ;
std :: cout << 'اپنی پسند درج کریں:' ;
انتخاب = حاصل کرنا ( ) ; // صارف ان پٹ دیتا ہے اور getch() انٹر بٹن دبائے بغیر ان پٹ کو پڑھتا ہے۔
سوئچ ( انتخاب ) {
معاملہ '1' :
std :: cout << ' \n آپ 'پیزا' کو منتخب کریں \n ' ;
توڑنا ;
معاملہ '2' :
std :: cout << ' \n آپ 'برگر' کو منتخب کریں \n ' ;
توڑنا ;
معاملہ '3' :
std :: cout << ' \n آپ 'کیک' کو منتخب کریں \n ' ;
توڑنا ;
پہلے سے طے شدہ :
std :: cout << '\No choice - کوئی حکم نہیں۔ \n ' ;
}
واپسی 0 ;
}

سب سے پہلے، ہم پروگرام کے آغاز پر مطلوبہ معیاری لائبریریوں کا اعلان کرتے ہیں۔ ہم مین فنکشن کے اندر ایک منطق بناتے ہیں، اور پروگرام کے مین فنکشن کے اندر کوئی بھی چیز قابل عمل ہوگی۔ یہاں، ہم ایک 'انتخاب' متغیر کا اعلان کرتے ہیں جس کی ڈیٹا کی قسم ایک کریکٹر ہے۔ پھر، ہم ایک مینو بناتے ہیں جو کنسول اسکرین پر نظر آتا ہے۔ ہم صارف کو 'پیزا'، 'برگر'، 'کیک'، اور 'کوئی انتخاب نہیں' جیسے مختلف اختیارات کے ساتھ ایک 'ریسٹورنٹ مینو' دیتے ہیں۔



ہم getch() کو متغیر انتخاب میں منتقل کرتے ہیں کیونکہ صارف کا ان پٹ اس متغیر میں محفوظ ہوتا ہے اور منتخب کردہ آپشن کے مطابق آؤٹ پٹ خود بخود ظاہر ہوتا ہے۔ مینو سے آپشن منتخب کرنے کے لیے، ہم سوئچ() فنکشن استعمال کرتے ہیں اور اس فنکشن میں 'چوائس' پاس کرتے ہیں۔ 'سوئچ' کے طریقہ کار کے اندر، ہم ہر آپشن کے خلاف انفرادی طور پر کیس بناتے ہیں۔ C++ میں 'سوئچ' کے طریقہ کار میں، ہر کیس کے آخر میں ایک وقفہ بیان ہمیشہ استعمال کیا جاتا ہے جو بیان کے اختتام کی طرف اشارہ کرتا ہے۔ جب ہم اسے مرتب کرتے ہیں اور اس پر عمل کرتے ہیں، تو آؤٹ پٹ کنسول اسکرین پر ظاہر ہوتا ہے جو درج ذیل میں منسلک ہوتا ہے۔





اب، getch() فنکشن یہاں کام کرے گا۔ جب صارف انتخاب میں داخل ہوتا ہے، تو getch() فنکشن اس ان پٹ کا سوئچ کیس سے موازنہ کرے گا اور کنسول پر خود بخود اور فوری طور پر آؤٹ پٹ یا آپشن دکھائے گا۔



پہلے سے منسلک اسکرین شاٹ میں، صارف '2' کا انتخاب داخل کرتا ہے اور آؤٹ پٹ اسکرین پر 'آپ 'برگر' کو منتخب کرتے ہیں' کے طور پر ظاہر ہوتا ہے۔ getch() کا کام اس مثال میں صاف ہو جاتا ہے کیونکہ صارف ان پٹ میں داخل ہوتا ہے اور کنسول پر دکھائے جانے والے صارف کی طرف سے دیے گئے ان پٹ کی بجائے کنسول اسکرین پر متوقع آؤٹ پٹ ظاہر ہوتا ہے۔

منظر نامہ 2: Getch() کا استعمال کرتے ہوئے صارف سے پوشیدہ پاس ورڈ قبول کریں۔

اس منظر نامے میں، ہم اس تصور سے گزریں گے کہ کس طرح صارف خفیہ طریقے سے پاس ورڈ داخل کر سکتا ہے اور کنسول اسکرین پر ان پٹ پاس ورڈ دکھا سکتا ہے۔ یہاں، ہم getch() فنکشن کو اس وقت تک استعمال کرتے ہیں جب تک کہ صارف ان پٹ پاس نہ کر دے۔ یاد رکھیں کہ getch() صارف کے ان پٹ کو ظاہر نہیں کرتا کیونکہ کرسر کنسول اسکرین پر ان پٹ کو ظاہر نہیں کرتا ہے۔ اس منظر نامے کے کوڈ کا ٹکڑا درج ذیل ہے:

# شامل کریں
# شامل کریں
# شامل کریں
# شامل کریں
#include
int مرکزی ( )
{
چار پاسو [ 8 ] ;
int m ;
std :: cout << '8 ہندسوں کا پاس ورڈ درج کریں:' ;
کے لیے ( m = 0 ; m <= 7 ; m ++ ) {
پاسو [ m ] = حاصل کرنا ( ) ;
std :: cout << '*' ;
}
پاسو [ m ] = ' \0 ' ;
std :: cout << ' \n ' ;
std :: cout << 'درج کردہ پاس ورڈ کو چھپائیں:' ;
کے لیے ( m = 0 ; پاسو [ m ] ! = ' \0 ' ; m ++ )
std :: cout << ( '%c' ، پاسو [ m ] ) ;
حاصل کرنا ( ) ;
واپسی 0 ;
}

جیسا کہ دیے گئے کوڈ میں دیکھا گیا ہے، وہ معیاری لائبریریاں شامل کریں جو getch() فنکشن کے استعمال اور اسکرین پر آؤٹ پٹ کو ظاہر کرنے کے لیے ضروری ہیں۔ اس پروگرام کا بنیادی کام مختلف مراحل پر مشتمل ہے جس کے ذریعے ہم صارف سے پاس ورڈ داخل کرتے ہیں اور اسکرین پر پاس ورڈ دکھاتے ہیں۔ ہمیں ارے متغیر کی ضرورت ہے جس کی ڈیٹا کی قسم 'Char' ہے جس کا سائز 8 عناصر کا ہے۔ اس کے علاوہ، ہمیں ایک متغیر کی بھی ضرورت ہے جو تکرار کی قدروں کو محفوظ کرے۔

یہاں، ہم ایک 'لوپ کے لیے' استعمال کرتے ہیں جو صارف کے ہر ان پٹ کاؤنٹ کو پڑھتا ہے اگر ارے کا سائز '8' ہے۔ پھر، صارف صرف لوپ کی مدد سے ان پٹ کنسول ونڈو پر کلیدی پاس ورڈ دباتا ہے۔ اس 'for' لوپ کے اندر، ہم getch() فنکشن کو passw[] array میں منتقل کرتے ہیں۔ یہ فنکشن اسکرین پر اس وقت تک برقرار رہتا ہے جب تک کہ صارف پاس ورڈ کے 8 حروف داخل نہیں کرتا ہے۔ ہر لوپ کی گنتی پر، ہر صارف کے ان پٹ شمار پر '*' پرنٹ کریں، اور لوپ یہاں بند ہے۔

اس کے بعد، ہم دوبارہ 'for' لوپ کا استعمال کرتے ہیں جو صرف passw[] سے ویلیوز لے کر چھپے ہوئے پاس ورڈ کو ظاہر کرتا ہے۔ Getch اس وقت تک اسکرین کو خود بخود رکھتا ہے جب تک کہ صارف کا ان پٹ صف میں بالکل محفوظ نہ ہو جائے اور اسکرین پر پاس ورڈ ظاہر نہ کر دے۔

پروگرام کو انجام دینے اور اسکرین پر آؤٹ پٹ دکھانے کے لیے 'کمپائل اینڈ رن' آپشن پر کلک کریں۔

اسکرین پر 8 ہندسوں کا پاس ورڈ درج کریں۔ جب 8 ہندسوں کا ان پٹ ہو جاتا ہے، تو یہ خود بخود ٹائپ کردہ پاس ورڈ کنسول ونڈو پر دکھاتا ہے۔ کی بورڈ کیز کو 8 بار دبائیں اور پاس ورڈ ٹائپ کریں۔

آؤٹ پٹ اسکرین صرف getch() فنکشن کی وجہ سے جم جاتی ہے۔ getch() فنکشن صرف اسکرین پر ان پٹ ڈیٹا کو پرنٹ کرتا ہے جیسا کہ پہلے منسلک اسکرین شاٹ میں دکھایا گیا ہے۔

نتیجہ

نتیجہ اخذ کرنے کے لیے، getch() C اور C++ پروگرامنگ کا سب سے اہم فنکشن ہے جو صارف کو اسکرین پر ان پٹ دکھائے بغیر یا کرسر کے بغیر کی بورڈ سے ان پٹ کو منجمد کرنے میں سہولت فراہم کرتا ہے۔ اس کی غیر معیاری لائبریری کی وجہ سے، اگر ہم پروگرام میں getch() استعمال نہیں کرتے ہیں، تو کنسول ونڈو اس وقت تک ظاہر ہوتی ہے جب تک کہ پروگرام کی تکمیل کے لیے مطلوبہ وقت ملی سیکنڈ میں نہ ہو۔ اس مضمون میں، ہم نے کوڈ کی مناسب مثالوں کے ساتھ اس طریقہ کی وضاحت کی ہے۔