Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में cin.ignore () का क्या उपयोग है?

Cin.ignore() फ़ंक्शन का उपयोग किया जाता है जिसका उपयोग इनपुट बफर से एक या अधिक वर्णों को अनदेखा या साफ़ करने के लिए किया जाता है।

इग्नोर () काम कर रहा है, इसके बारे में विचार प्राप्त करने के लिए, हमें एक समस्या को देखना होगा, और इसका समाधान इग्नोर () फ़ंक्शन का उपयोग करके पाया जाता है। समस्या नीचे की तरह है।

कभी-कभी हमें अवांछित बफर को साफ़ करने की आवश्यकता होती है, इसलिए जब अगला इनपुट लिया जाता है, तो यह वांछित कंटेनर में संग्रहीत होता है, लेकिन पिछले चर के बफर में नहीं। उदाहरण के लिए, सिने स्टेटमेंट में प्रवेश करने के बाद, हमें एक कैरेक्टर ऐरे या स्ट्रिंग को इनपुट करना होगा। तो हमें इनपुट बफर को साफ़ करने की आवश्यकता है, अन्यथा यह पिछले चर के बफर पर कब्जा कर लेगा। पहले इनपुट के बाद "एंटर" कुंजी दबाकर, क्योंकि पिछले चर के बफर में नया डेटा रखने के लिए जगह है, प्रोग्राम कंटेनर के निम्नलिखित इनपुट को छोड़ देता है।

उदाहरण

#include<iostream>
#include<vector>
using namespace std;
main() {
   int x;
   char str[80];
   cout << "Enter a number and a string:\n";
   cin >> x;
   cin.getline(str,80); //take a string
   cout << "You have entered:\n";
   cout << x << endl;
   cout << str << endl;
}

आउटपुट

Enter a number and a string:
8
You have entered:
8

पूर्णांक और स्ट्रिंग के लिए दो cin कथन हैं, लेकिन केवल संख्या ली जाती है। जब हम एंटर कुंजी दबाते हैं, तो यह बिना किसी इनपुट के गेटलाइन () फ़ंक्शन को छोड़ देता है। कभी-कभी यह इनपुट ले सकता है लेकिन पूर्णांक चर के बफर के अंदर, इसलिए हम स्ट्रिंग को आउटपुट के रूप में नहीं देख सकते हैं।

अब इस समस्या को हल करने के लिए, हम cin.ignore() फ़ंक्शन का उपयोग करेंगे। इस फ़ंक्शन का उपयोग दी गई सीमा तक इनपुट को अनदेखा करने के लिए किया जाता है। यदि हम कथन इस प्रकार लिखते हैं -

cin.ignore(numeric_limits::max(), ‘\n’)

फिर यह नए लाइन कैरेक्टर सहित इनपुट को भी नजरअंदाज कर देता है।

उदाहरण

#include<iostream>
#include<ios> //used to get stream size
#include<limits> //used to get numeric limits
using namespace std;
main() {
   int x;
   char str[80];
   cout << "Enter a number and a string:\n";
   cin >> x;
   cin.ignore(numeric_limits<streamsize>::max(), '\n'); //clear buffer before taking new
   line
   cin.getline(str,80); //take a string
   cout << "You have entered:\n";
   cout << x << endl;
   cout << str << endl;
}

आउटपुट

Enter a number and a string:
4
Hello World
You have entered:
4
Hello World

  1. विंडो पर c++ के लिए शीर्ष IDE क्या है?

    केवल टेक्स्ट एडिटर्स पर बड़े प्रोजेक्ट्स को मैनेज करना मुश्किल है। यदि आप ऐसे मामलों में आईडीई का उपयोग करते हैं तो आप अधिक उत्पादक और कम निराश होने की संभावना रखते हैं। विभिन्न प्रकार के आईडीई हैं और आपको अपनी आवश्यकताओं के अनुरूप सही का चयन करना चाहिए। यहां विंडो के लिए सर्वश्रेष्ठ C/C++ IDE की सू

  1. C++ में कॉन्स्टेबल कीवर्ड क्या है?

    हम एक चर को स्थिर घोषित करने के लिए const qualifier का उपयोग करते हैं। इसका मतलब है कि एक बार वेरिएबल को इनिशियलाइज़ करने के बाद हम वैल्यू को नहीं बदल सकते। कॉन्स्ट का इस्तेमाल करने से बहुत बड़ा फायदा होता है। उदाहरण के लिए, यदि आपके पास PI के मान जैसा स्थिर मान है, तो आप उस मान को संशोधित करने के ल

  1. PHP में ini_set () का उपयोग क्या है?

    PHP उपयोगकर्ता को ini_set() का उपयोग करके php.ini में उल्लिखित कुछ सेटिंग्स को संशोधित करने की अनुमति देता है। इस फ़ंक्शन के लिए दो स्ट्रिंग तर्कों की आवश्यकता होती है। पहला संशोधित करने के लिए सेटिंग का नाम है और दूसरा इसे असाइन किया जाने वाला नया मान है। पैरामीटर वर नाम सभी उपलब्ध विकल्पों को ini