सी में स्ट्रिंग अंत का निर्धारण करना
स्ट्रिंग हेरफेर में एक सामान्य ऑपरेशन यह जांचना है कि क्या एक दी गई स्ट्रिंग दूसरे के साथ समाप्त होती है। यह कार्यक्षमता टेक्स्ट प्रोसेसिंग, पैटर्न मिलान और फ़ाइल विश्लेषण सहित विभिन्न अनुप्रयोगों में महत्वपूर्ण है।
सी में, यह पता लगाने के कई तरीके हैं कि कोई स्ट्रिंग एक विशिष्ट सबस्ट्रिंग के साथ समाप्त होती है या नहीं। एक कुशल विधि में मानक सी लाइब्रेरी में उपलब्ध std::string::तुलना फ़ंक्शन का उपयोग करना शामिल है।
तुलना फ़ंक्शन दो स्ट्रिंग्स की तुलना करता है और परिणाम का प्रतिनिधित्व करने वाला एक पूर्णांक मान देता है। संभावित अंतिम सबस्ट्रिंग के साथ मूल स्ट्रिंग के अंतिम भाग की तुलना करके, हम यह निर्धारित कर सकते हैं कि क्या वे मेल खाते हैं।
निम्न कोड दर्शाता है कि इस दृष्टिकोण को कैसे कार्यान्वित किया जाए:
#include
bool hasEnding(const std::string& fullString, const std::string& ending) {
if (fullString.length() >= ending.length()) {
return (0 == fullString.compare(fullString.length() - ending.length(), ending.length(), ending));
} else {
return false;
}
}
int main() {
std::string test1 = "binary";
std::string test2 = "unary";
std::string test3 = "tertiary";
std::string test4 = "ry";
std::string ending = "nary";
std::cout इस कोड में, हम पहले एक फ़ंक्शन hasEnding को परिभाषित करते हैं जो इनपुट के रूप में दो स्ट्रिंग लेता है। फ़ंक्शन एक बूलियन लौटाता है जो दर्शाता है कि पहली स्ट्रिंग दूसरी स्ट्रिंग के साथ समाप्त होती है या नहीं।
फ़ंक्शन के अंदर, हम जांचते हैं कि पहली स्ट्रिंग की लंबाई दूसरी स्ट्रिंग की लंबाई से अधिक या उसके बराबर है या नहीं। यदि नहीं, तो फ़ंक्शन गलत रिटर्न देता है।
यदि लंबाई जांच पास हो जाती है, तो हम पहली स्ट्रिंग के अंतिम भाग की तुलना दूसरी स्ट्रिंग से करने के लिए तुलना का उपयोग करते हैं। यदि दो स्ट्रिंग बराबर हैं तो तुलना फ़ंक्शन 0 लौटाता है, जिसे हम यह निर्धारित करने के लिए जांचते हैं कि पहली स्ट्रिंग दूसरे के साथ समाप्त होती है या नहीं।
मुख्य फ़ंक्शन कई इनपुट स्ट्रिंग्स के साथ hasEnding फ़ंक्शन का परीक्षण करता है और परिणाम आउटपुट करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3