कैसे पता लगाएं कि C++ स्ट्रिंग खाली है या नहीं

Kaise Pata Laga Em Ki C Stringa Khali Hai Ya Nahim



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

विधि 1: खाली() सदस्य फ़ंक्शन का उपयोग करना

यह निर्धारित करने के लिए कि कोई स्ट्रिंग खाली है या नहीं, C++ में एक सीधा और अंतर्निहित दृष्टिकोण में 'खाली ()' सदस्य फ़ंक्शन का उपयोग शामिल है। 'खाली()' फ़ंक्शन मानक C++ स्ट्रिंग क्लास का हिस्सा है और यह जांचने का एक सुविधाजनक तरीका प्रदान करता है कि स्ट्रिंग में कोई अक्षर नहीं है या नहीं।

यहां एक सरल उदाहरण दिया गया है जो खाली() फ़ंक्शन के उपयोग को दर्शाता है:







#शामिल करें
#शामिल <स्ट्रिंग>
का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ मुख्य ( ) {

स्ट्रिंग खालीस्ट्र ;

अगर ( खालीस्ट्र. खाली ( ) ) {
अदालत << 'स्ट्रिंग खाली है।' << अंतः ;
} अन्य {
अदालत << 'स्ट्रिंग खाली नहीं है।' << अंतः ;
}

वापस करना 0 ;
}

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



हमारे मामले में, हम इस फ़ंक्शन को 'emptyStr' स्ट्रिंग पर लागू करते हैं। इसके बाद, हम बूलियन परिणाम का मूल्यांकन करने के लिए एक सशर्त कथन का उपयोग करते हैं जो 'खाली ()' फ़ंक्शन द्वारा लौटाया जाता है। यदि स्ट्रिंग वास्तव में खाली है, तो हमारा प्रोग्राम एक संदेश आउटपुट करता है जो इंगित करता है कि स्ट्रिंग खाली है। दूसरी ओर, यदि स्ट्रिंग में वर्ण हैं, तो प्रोग्राम एक संदेश आउटपुट करता है जो बताता है कि स्ट्रिंग खाली नहीं है।



प्रदत्त C++ कोड का आउटपुट इस प्रकार है:





विधि 2: आकार() सदस्य फ़ंक्शन का उपयोग करना

C++ स्ट्रिंग खाली है या नहीं इसका पता लगाने के लिए एक अन्य दृष्टिकोण में 'स्ट्रिंग' वर्ग द्वारा प्रदान किए गए 'आकार ()' सदस्य फ़ंक्शन का उपयोग करना शामिल है। 'खाली ()' फ़ंक्शन के विपरीत, जो सीधे एक बूलियन लौटाता है जो खालीपन को इंगित करता है, 'आकार ()' स्ट्रिंग में मौजूद वर्णों की संख्या लौटाता है। रिक्तता की जाँच करने के लिए, हम 'आकार ()' के परिणाम की तुलना शून्य से करते हैं क्योंकि एक खाली स्ट्रिंग का आकार शून्य होता है।



यहाँ एक उदाहरण है:

#शामिल करें
#शामिल <स्ट्रिंग>
का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ मुख्य ( ) {

स्ट्रिंग myEmptyString ;

अगर ( myEmptyString. आकार ( ) == 0 ) {
अदालत << 'प्रदान की गई स्ट्रिंग खाली है।' << अंतः ;
} अन्य {
अदालत << 'प्रदान की गई स्ट्रिंग खाली नहीं है।' << अंतः ;
}

वापस करना 0 ;
}

इस उदाहरण में, हम 'myEmptyString' नाम के एक स्ट्रिंग वेरिएबल को बिना इनिशियलाइज़ किए घोषित करके शुरू करते हैं, इसे डिफ़ॉल्ट रूप से खाली छोड़ देते हैं। आगे बढ़ते हुए, हम 'myEmptyString' स्ट्रिंग में आकार या वर्णों की संख्या निर्धारित करने के लिए 'आकार ()' फ़ंक्शन को लागू करते हैं। 'if' कथन यह मूल्यांकन करता है कि आकार शून्य के बराबर है या नहीं जो इंगित करता है कि स्ट्रिंग खाली है। यदि यह शर्त पूरी हो जाती है, तो हम कंसोल पर एक संदेश आउटपुट करते हैं जिसमें कहा गया है कि प्रदान की गई स्ट्रिंग खाली है। इसके विपरीत, यदि आकार गैर-शून्य है, तो नियंत्रण प्रवाह 'अन्य' ब्लॉक में स्थानांतरित हो जाता है और एक अलग संदेश प्रदर्शित होता है जो पुष्टि करता है कि प्रदान की गई स्ट्रिंग खाली नहीं है।

विधि 3: एक खाली स्ट्रिंग शाब्दिक के साथ तुलना का उपयोग करना

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

यहां एक उदाहरण दिया गया है जो इस दृष्टिकोण को दर्शाता है:

#शामिल करें
#शामिल <स्ट्रिंग>
का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ मुख्य ( )
{
स्ट्रिंग उपयोक्तानाम ;

अदालत <> उपयोगकर्ता नाम ;

अगर ( उपयोगकर्ता नाम == '' )
{
अदालत << 'त्रुटि: उपयोक्तानाम खाली नहीं हो सकता।' << अंतः ;
}
अन्य
{
अदालत << 'नमस्ते, ' << उपयोगकर्ता नाम << '! हमारे मंच पर आपका स्वागत है।' << अंतः ;
}

वापस करना 0 ;
}

इस मामले में, हम एक एप्लिकेशन लॉन्च करते हैं जो उपयोगकर्ता से अपना उपयोगकर्ता नाम प्रदान करने के लिए कहता है। प्रोग्राम उपयोगकर्ता के इनपुट को संग्रहीत करने के लिए 'उपयोगकर्ता नाम' नामक एक स्ट्रिंग वेरिएबल घोषित करके शुरू होता है। इसके बाद, उपयोगकर्ता को 'अपना उपयोगकर्ता नाम दर्ज करें:' संदेश के साथ संकेत दिया जाता है, और उनका इनपुट 'cin' स्ट्रीम का उपयोग करके कैप्चर किया जाता है। प्रोग्राम तब यह जांचने के लिए एक सशर्त कथन नियोजित करता है कि क्या दर्ज किया गया उपयोगकर्ता नाम खाली है, जिसे समानता ऑपरेटर (==) का उपयोग करके सीधे खाली स्ट्रिंग शाब्दिक के साथ तुलना करके प्राप्त किया जाता है। यदि उपयोगकर्ता नाम खाली पाया जाता है, तो प्रोग्राम एक त्रुटि संदेश आउटपुट करता है जिसमें कहा गया है, 'त्रुटि: उपयोगकर्ता नाम खाली नहीं हो सकता'। हालाँकि, यदि उपयोगकर्ता नाम खाली नहीं है, तो प्रोग्राम एक वैयक्तिकृत स्वागत संदेश प्रदर्शित करता है जिसमें 'हैलो, [उपयोगकर्ता नाम]! हमारे मंच पर आपका स्वागत है' अभिवादन के साथ दर्ज उपयोगकर्ता नाम शामिल होता है।

यहां वह आउटपुट है जहां हमने कोई उपयोगकर्ता नाम प्रदान नहीं किया है:

उपयोगकर्ता नाम प्रदान करने पर आउटपुट इस प्रकार है:

विधि 4: टर्नरी ऑपरेटर का उपयोग करना

टर्नरी ऑपरेटर एक सशर्त कथन को एक पंक्ति में संक्षेप में व्यक्त करता है जो कोड को अधिक कॉम्पैक्ट बनाता है। यह देखने के लिए कि क्या स्ट्रिंग खाली है, टर्नरी ऑपरेटर स्थिति का आकलन करने के बाद दो मानों में से एक लौटाता है। इस मामले में, हम रिक्तता की जांच करने के लिए 'खाली ()' सदस्य फ़ंक्शन का उपयोग कर सकते हैं और संबंधित संदेश निर्दिष्ट करने के लिए टर्नरी ऑपरेटर को नियोजित कर सकते हैं।

यहाँ एक उदाहरणात्मक उदाहरण है:

#शामिल करें
#शामिल <स्ट्रिंग>
का उपयोग करते हुए नाम स्थान कक्षा ;

int यहाँ मुख्य ( ) {
स्ट्रिंग नमूनास्ट्रिंग = 'हैलो वर्ल्ड!' ;

अदालत << 'स्ट्रिंग है' << ( नमूनास्ट्रिंग. खाली ( ) ? 'खाली।' : 'खाली नहीं है।' ) << अंतः ;

वापस करना 0 ;
}

फिर हम 'sampleString' नामक एक स्ट्रिंग वैरिएबल घोषित करते हैं और इसे 'हैलो, वर्ल्ड!' के साथ प्रारंभ करते हैं। सामग्री। स्ट्रिंग खाली है या नहीं यह निर्धारित करने के लिए हम 'काउट' स्टेटमेंट के भीतर एक टर्नरी ऑपरेटर का उपयोग करते हैं। टर्नरी ऑपरेटर 'sampleString.empty()' स्थिति का मूल्यांकन करता है, जाँच करता है कि क्या स्ट्रिंग खाली है, और यदि स्थिति सही है तो संबंधित 'स्ट्रिंग खाली है' संदेश प्रिंट करता है, और यदि स्थिति सही है तो 'स्ट्रिंग खाली नहीं है' प्रिंट करता है। असत्य। प्रोग्राम 0 लौटाकर समाप्त होता है जो एक सफल रन को दर्शाता है। इस प्रोग्राम का निष्पादन निम्नलिखित आउटपुट उत्पन्न करता है:

निष्कर्ष

यह पता लगाना कि C++ स्ट्रिंग खाली है या नहीं, स्ट्रिंग हेरफेर और प्रसंस्करण के लिए मौलिक है। इस लेख में, हमने कई तरीकों की खोज की, जिनमें से प्रत्येक के अपने फायदे हैं। 'खाली ()' सदस्य फ़ंक्शन सबसे प्रत्यक्ष और आमतौर पर इस्तेमाल किया जाने वाला फ़ंक्शन है जो स्पष्ट रूप से एक स्ट्रिंग की खालीपन को इंगित करता है। 'आकार ()' का उपयोग स्ट्रिंग की लंबाई की जांच करके एक वैकल्पिक दृष्टिकोण प्रदान करता है। खाली स्ट्रिंग शाब्दिक के साथ तुलना सीधी और सहज है, जबकि टर्नरी ऑपरेटर चेक को अधिक जटिल तर्क में एकीकृत करने में लचीलापन प्रदान करते हैं। सही दृष्टिकोण का चयन करते समय कार्यक्रम की विशेष आवश्यकताओं को ध्यान में रखा जाना चाहिए।