C++ में find_first_of () फ़ंक्शन का उपयोग कैसे करें?

How Use Find_first_of Function C



स्ट्रिंग डेटा के साथ काम करने के लिए C++ में अलग-अलग बिल्ट-इन फंक्शन मौजूद हैं। NS फाइंड_फर्स्ट_ऑफ़ () फ़ंक्शन का उपयोग निर्दिष्ट वर्ण की पहली घटना के स्थान को खोजने के लिए किया जाता है। यह फ़ंक्शन स्ट्रिंग की पहली घटना की स्थिति देता है जिसे इस फ़ंक्शन के तर्क मान के रूप में दिया जाएगा। C++ में स्ट्रिंग को खोजने के लिए इस फ़ंक्शन के विभिन्न उपयोगों को इस ट्यूटोरियल में समझाया गया है।

पूर्व-अपेक्षा

इस ट्यूटोरियल के उदाहरणों की जाँच करने से पहले, आपको यह जाँचना होगा कि सिस्टम में g++ कंपाइलर स्थापित है या नहीं। यदि आप विजुअल स्टूडियो कोड का उपयोग कर रहे हैं, तो निष्पादन योग्य कोड बनाने के लिए C++ स्रोत कोड को संकलित करने के लिए आवश्यक एक्सटेंशन इंस्टॉल करें। यहां, विजुअल स्टूडियो कोड एप्लिकेशन का उपयोग सी ++ कोड को संकलित और निष्पादित करने के लिए किया गया है।







Find_first_of () फ़ंक्शन की विशेषताएं

NS फाइंड_फर्स्ट_ऑफ़ () फ़ंक्शन पहले तर्क के मान के आधार पर विभिन्न प्रकार के चर लौटा सकता है। यदि पहला तर्क मान एक स्ट्रिंग है तो यह स्ट्रिंग की खोज स्थिति वापस कर देगा। यह वर्ण स्ट्रिंग की खोज स्थिति को वापस कर देगा यदि पहले तर्क में वर्णों की एक सरणी के लिए सूचक दिया गया है। यदि तीसरे तर्क का मान दिया जाता है तो यह बफर स्थिति वापस कर देगा। यदि कोई वर्ण पहले तर्क में दिया गया है और यह मुख्य स्ट्रिंग में मौजूद है तो यह वर्ण स्थिति लौटाएगा। खोज की प्रारंभिक स्थिति इस फ़ंक्शन के दूसरे तर्क में सेट की गई है। इस फ़ंक्शन का विभिन्न सिंटैक्स नीचे दिया गया है।



वाक्य - विन्यास

स्ट्रिंग size_t find_first_of (const string& str, size_t pos = 0) const;
c-स्ट्रिंग size_t find_first_of (const char* s, size_t pos = 0) const;
बफर size_t find_first_of (const char* s, size_t pos, size_t n) const;
वर्ण size_t find_first_of (char c, size_t pos = 0) const;



उदाहरण 1: स्ट्रिंग के विशेष वर्ण को खोजें और बदलें

निम्न उदाहरण एक स्ट्रिंग में विशेष वर्ण की स्थिति को खोजने का तरीका दिखाता है। विशेष वर्ण को किसी अन्य वर्ण से बदलने के लिए निम्न कोड वाली C++ फ़ाइल बनाएँ। कोड में, फाइंड_फर्स्ट_ऑफ़ () फ़ंक्शन का उपयोग स्ट्रिंग में किसी विशेष वर्ण के सभी पदों को खोजने और लूप का उपयोग करके वर्णों को किसी अन्य वर्ण से बदलने के लिए किया गया है। कोड निष्पादित करने के बाद मूल स्ट्रिंग और प्रतिस्थापित स्ट्रिंग मुद्रित की जाएगी।





// आउटपुट को प्रिंट करने के लिए शामिल करें
#शामिल
// size_t . का उपयोग करने के लिए शामिल करें
#शामिल

NSमुख्य()
{
// एक स्ट्रिंग वैरिएबल को इनिशियलाइज़ करें
घंटे::डोरीस्ट्रडाटा('लिनक्सहिंट में आपका स्वागत है');
// मूल स्ट्रिंग प्रिंट करें
घंटे::लागत << 'मूल स्ट्रिंग है:' +स्ट्रडाटा<< 'एन';
// चरित्र 'i' की सभी स्थिति का पता लगाएं
घंटे::size_tखोज सूची=स्ट्रडाटाखोज_पहला_ऑफ़('मैं');
// सभी 'i' को '@' से बदलने के लिए लूप को पुनरावृत्त करें
जबकि (खोज सूची!=घंटे::डोरी::एनपीओ)
{
स्ट्रडाटा[खोज सूची] = '@';
खोज सूची=स्ट्रडाटाखोज_पहला_ऑफ़('मैं',खोजसूची+1);
}
// संशोधित स्ट्रिंग प्रिंट करें
घंटे::लागत << 'संशोधित स्ट्रिंग है:' +स्ट्रडाटा<< 'एन';

वापसी 0;
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा।



उदाहरण 2: खोज करने वाले वर्णों की पहली स्थिति खोजें

एकाधिक वर्णों की एक स्ट्रिंग की स्थिति खोजने के लिए निम्न कोड के साथ एक C++ फ़ाइल बनाएं और मुख्य स्ट्रिंग से मेल खाने वाले वर्ण की पहली स्थिति लौटाएं। एक स्ट्रिंग डेटा को एक स्ट्रिंग चर में असाइन किया गया है, और पहली स्थिति एक पूर्णांक चर में संग्रहीत है। कोड निष्पादित करने के बाद स्थिति मान मुद्रित किया जाएगा।

// आउटपुट को प्रिंट करने के लिए शामिल करें
#शामिल

NSमुख्य()
{
// स्ट्रिंग वैरिएबल को इनिशियलाइज़ करें
घंटे::डोरीस्ट्रडाटा( 'बेसिक सी++ प्रोग्रामिंग');
// स्थिति को स्टोर करने के लिए इंटरगर वैरिएबल घोषित करें
NSपद;
// 'C++' अक्षर खोजें
पद=स्ट्रडाटाखोज_पहला_ऑफ़( 'के ++' );
// स्थिति मूल्य की जाँच करें
अगर (पद> = 0)
{
// यदि कोई वर्ण पाया जाता है तो स्थिति को प्रिंट करें
घंटे::लागत << 'चरित्र '' <<स्ट्रडाटा[पद]
<< '' पाया है' << 'स्थिति में' <<पद<< 'एन';
}

वापसी 0;
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। यहाँ, चरित्र, ' + 'स्ट्रिंग की,' कश्मीर ++ ' स्थिति में पाया है, 7 मुख्य स्ट्रिंग के, ' बेसिक सी++ प्रोग्रामिंग '।

उदाहरण 3: विशेष स्थिति के बाद किसी विशेष वर्ण को खोजें

विशेष स्थिति के बाद किसी विशेष वर्ण को खोजने के लिए निम्नलिखित कोड के साथ एक C++ फ़ाइल बनाएँ। स्ट्रिंग वेरिएबल में एक स्ट्रिंग डेटा संग्रहीत किया जाता है, और स्थिति के बाद एक विशेष स्ट्रिंग की खोज की जाती है, 13. यदि मुख्य स्ट्रिंग में खोज स्ट्रिंग का कोई वर्ण पाया गया है, तो स्थिति मान वापस कर दिया जाएगा।

// आउटपुट को प्रिंट करने के लिए शामिल करें
#शामिल

NSमुख्य()
{
// एक स्ट्रिंग वैरिएबल को इनिशियलाइज़ करें
घंटे::डोरीस्ट्रडाटा= 'जीने के लिए खाओ, खाने के लिए न जियो';
// मूल स्ट्रिंग प्रिंट करें
घंटे::लागत << 'मूल स्ट्रिंग है:' +स्ट्रडाटा<< 'एन';
// उस स्थिति को प्रिंट करें जहां अंतिम वर्ण पाया गया था
घंटे::लागत<<'अंतिम मिलान वर्ण स्थिति पर मिला:'
<<स्ट्रडाटाखोज_पहला_ऑफ़('पर',१३) << 'एन';
वापसी 0;
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। यहाँ, चरित्र, ' प्रति 'स्ट्रिंग की,' पर ' स्थिति में पाया है, पंद्रह मुख्य स्ट्रिंग के, ' जीने के लिए खाओ, खाने के लिए न जियो '।

उदाहरण 4: पहली मिलान संख्या की स्थिति खोजें

दूसरी वेक्टर सूची में पहली वेक्टर सूची के प्रत्येक नंबर को खोजने के लिए निम्नलिखित कोड के साथ एक सी ++ फ़ाइल बनाएं और पहली वेक्टर सूची की मिलान संख्या की स्थिति लौटाएं। यदि एक मिलान तर्क मिलता है, तो स्थिति मान वापस कर दिया जाएगा; अन्यथा, एक संदेश मुद्रित किया जाएगा।

// आउटपुट को प्रिंट करने के लिए शामिल करें
#शामिल
// वेक्टर में डेटा खोजने के लिए शामिल करें
#शामिल
// वेक्टर डेटा का उपयोग करने के लिए शामिल करें
#शामिल

NSमुख्य()
{
// दो वेक्टर सूची घोषित करें
घंटे::वेक्टरसूची1{10,5,65,31,7};
घंटे::वेक्टरसूची २{2,77,5,38,32,55};
// सूची 1 के डेटा को सूची 2 में खोजें
ऑटोउत्पादन=घंटे::खोज_पहला_ऑफ़(सूची १.शुरू(), सूची १.समाप्त(), सूची २.शुरू(), सूची २.समाप्त());
// मिलान संख्या की स्थिति पढ़ें
NSपद=घंटे::दूरी(सूची १.शुरू(), आउटपुट);

// सूची 1 की किसी भी संख्या को सूची 2 की किसी भी संख्या के साथ जांचें
अगर (उत्पादन<सूची १.समाप्त()) {
घंटे::लागत << 'पहली मिलान संख्या' <<सूची1[पद] << 'स्थिति में मिला' <<पद<< 'एन';
}
अन्यथा {
घंटे::लागत << 'कोई मिलान संख्या नहीं मिली।एन';
}
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। संख्या मान, पहली सरणी का 5, दूसरे सरणी में मौजूद है और इस संख्या की स्थिति 1 है।

निष्कर्ष

विभिन्न प्रोग्रामिंग उद्देश्यों के लिए किसी वर्ण या संख्या को खोजने के लिए find_first_of () फ़ंक्शन का उपयोग किया जा सकता है। इस फ़ंक्शन का उपयोग विभिन्न खोज समस्याओं को हल करने के लिए किया जा सकता है। मुझे आशा है कि C++ प्रोग्रामर इस ट्यूटोरियल को पढ़ने के बाद इस फ़ंक्शन का ठीक से उपयोग करने में सक्षम हो सकता है।