उपयोगकर्ता इनपुट की प्रतीक्षा करें: सी भाषा

Wait User Input C Language



C प्रोग्रामिंग लैंग्वेज में कुछ इनपुट फंक्शन होते हैं। इन कार्यों का उपयोग करके, हम उपयोगकर्ता इनपुट की प्रतीक्षा कर सकते हैं। इस ट्यूटोरियल में हम इनपुट फ़ंक्शंस के बारे में विस्तार से चर्चा करने जा रहे हैं।

प्रारूप स्ट्रिंग

प्रारूप स्ट्रिंग दर्ज किए गए डेटा का प्रारूप है। यह प्रारूप % चिह्न से शुरू होता है और उसके बाद प्रारूप विनिर्देशक होता है। फॉर्मेट स्पेसिफायर एक विशिष्ट कैरेक्टर है जिसका उपयोग किस प्रकार के डेटा के लिए किया जा रहा है।







arg1, arg2, arg3… वेरिएबल के पते हैं जहां दर्ज किया गया डेटा संग्रहीत किया जाएगा।



स्कैनफ () फ़ंक्शन

वाक्य - विन्यास: इंट स्कैनफ (प्रारूप स्ट्रिंग, arg1, arg2, arg3…)



अक्सर उपयोग किए जाने वाले कुछ विनिर्देशक इस प्रकार हैं:





  • डी - पूर्णांक मानों के लिए प्रयुक्त।
  • एफ - फ्लोटिंग नंबर के लिए इस्तेमाल किया जाता है।
  • सी - सिंगल कैरेक्टर वैल्यू के लिए इस्तेमाल किया जाता है।
  • एस - तार के लिए प्रयुक्त।

सिंगल का उपयोग करना स्कैनफ () फ़ंक्शन, उपयोगकर्ता से एक या एकाधिक इनपुट लिया जा सकता है।

NS स्कैनफ () फ़ंक्शन मानक इनपुट (कीबोर्ड) से इनपुट लेता है और मान को एक चर में संग्रहीत करता है। फ़ंक्शन उपयोगकर्ता इनपुट की प्रतीक्षा करता है जब तक कि उपयोगकर्ता एंटर कुंजी नहीं दबाता। दर्ज मूल्य एक बफर में संग्रहीत किया जा रहा है। जब एंटर की को दबाया जा रहा हो, स्कैनफ () फ़ंक्शन पढ़ना शुरू करता है।



उदाहरण 1: पूर्णांक इनपुट

// उदाहरण1.c
#शामिल

NSमुख्य(){

NSमैं;
printf ('पहला पूर्णांक मान दर्ज करें:');
स्कैनफ ('%डी', औरमैं);
printf ('आपने प्रविष्ट किया : %dएन',मैं);

printf ('दूसरा पूर्णांक मान दर्ज करें:');
स्कैनफ ('%डी', औरमैं);
printf ('आपने प्रविष्ट किया : %dएन',मैं);

वापसी 0;
}

example1.c में, हमने देखा है कि जब हम पूर्णांक मान दर्ज करते हैं और एंटर कुंजी दबाते हैं। NS स्कैनफ () फ़ंक्शन मान लेता है और इसे चर में संग्रहीत करता है। यदि हम स्पेस द्वारा अलग किए गए मानों को दर्ज करते हैं, तो स्पेस का सामना करने पर फ़ंक्शन वापस आ जाता है लेकिन स्पेस के बाद के मान इनपुट बफर में रहते हैं। इसलिए दूसरा स्कैनफ () फ़ंक्शन उपयोगकर्ता इनपुट की प्रतीक्षा नहीं करेगा, इसके बजाय यह बफर से इनपुट लेता है।

उदाहरण 2: सिंगल कैरेक्टर इनपुट

//उदाहरण2.c
#शामिल

NSमुख्य(){

charसी;
printf ('एक चरित्र दर्ज करें:');
स्कैनफ ('% सी', औरसी);
printf ('आपने प्रविष्ट किया : %cएन',सी);

वापसी 0;
}

example2.c में, हमने देखा है कि जब हम उपयोग करते हैं % सी विनिर्देशक, स्कैनफ () फ़ंक्शन केवल एक वर्ण लेता है, भले ही हमने एक से अधिक वर्ण दर्ज किए हों।

उदाहरण 3: सिंगल कैरेक्टर इनपुट (एकाधिक बार)

// उदाहरण3.c
#शामिल

NSमुख्य(){

charसी;
printf ('पहला वर्ण दर्ज करें:');
स्कैनफ ('% सी', औरसी);
printf ('आपने प्रविष्ट किया : %cएन',सी);

printf ('दूसरा वर्ण दर्ज करें:');
स्कैनफ ('% सी', औरसी);
printf ('आपने प्रविष्ट किया : %cएन',सी);

वापसी 0;
}

उदाहरण 4 :

// उदाहरण4.c
#शामिल

NSमुख्य(){

charसी;
printf ('पहला वर्ण दर्ज करें:');
स्कैनफ ('% सी', औरसी);
printf ('आपने प्रविष्ट किया : %cएन',सी);

printf ('दूसरा वर्ण दर्ज करें:');
स्कैनफ ('% सी', औरसी);
printf ('आपने प्रविष्ट किया : %cएन',सी);

वापसी 0;
}

उदाहरण 5: स्ट्रिंग इनपुट

// उदाहरण5.c
#शामिल

NSमुख्य(){

charनाम[पंद्रह];
printf ('अपना नाम दर्ज करें: ');
स्कैनफ ('%एस',नाम);
printf ('आपने प्रविष्ट किया : %sएन',नाम);

वापसी 0;
}

getc () फ़ंक्शन

वाक्य - विन्यास: int getc (फ़ाइल * स्ट्रीम)

गेटसी () FILE पॉइंटर (स्ट्रीम) से किसी कैरेक्टर को पढ़ने के लिए फ़ंक्शन का उपयोग किया जाता है। कीबोर्ड से पढ़ने के लिए हमें उपयोग करना होगा स्टडिन . यह फ़ंक्शन पढ़े गए वर्ण का पूर्णांक मान देता है।

उदाहरण 6:

// उदाहरण6.c
#शामिल

NSमुख्य(){

charसी;
printf ('पहला वर्ण दर्ज करें:');
जबकि((सी= जीइ टीसी (स्टडिन))=='एन');
printf ('आपने प्रविष्ट किया : %cएन',सी);

जबकि( जीइ टीसी (स्टडिन)! ='एन');

printf ('दूसरा वर्ण दर्ज करें:');
जबकि((सी= जीइ टीसी (स्टडिन))=='एन');
printf ('आपने प्रविष्ट किया : %cएन',सी);

वापसी 0;
}

गेटचर () फ़ंक्शन

वाक्य - विन्यास: int getchar (शून्य)

गेटचार () फ़ंक्शन समान है गेटसी () . फर्क सिर्फ इतना है गेटसी () फ़ंक्शन किसी भी इनपुट स्ट्रीम से पढ़ सकता है, जबकि गेटचार () फ़ंक्शन केवल मानक इनपुट से पढ़ता है।

उदाहरण 7:

// उदाहरण7.c
#शामिल

NSमुख्य(){

charसी;
printf ('पहला वर्ण दर्ज करें:');
जबकि((सी= गेटचार ())=='एन');
printf ('आपने प्रविष्ट किया : %cएन',सी);

जबकि( गेटचार ()! ='एन');

printf ('दूसरा वर्ण दर्ज करें:');
जबकि((सी= गेटचार ())=='एन');
printf ('आपने प्रविष्ट किया : %cएन',सी);

वापसी 0;
}

निष्कर्ष

इस लेख में, हमने देखा कि C भाषा में इनपुट फ़ंक्शंस का उपयोग कैसे किया जाता है। इन सभी कार्यों को इनपुट बफर से इनपुट लिया जाता है और जब हम इन कार्यों को कई बार उपयोग करते हैं, तो हमें बफर को साफ़ करना पड़ता है। अन्यथा, फ़ंक्शन उपयोगकर्ता इनपुट की प्रतीक्षा नहीं करेंगे और बफर से इनपुट लेंगे।