String Variables and String Constant

String Variables and String Constant in C++: हमने employee Class में देखा है कि यदि हमें किसी Characters के समूह को Use करना हो तो हमें उसे एक One – Dimensional Array के रूप में Treat करना पडता है और इस Array में Data को Input करने या Data को इस Array से प्राप्त करके Screen पर दिखाने के लिए हमें Loops का प्रयोग करके एक-एक Character को प्राप्त करना पडता है।

Texts Computer Programming में सबसे Common चीज है। Texts के बिना कोई भी Program नहीं बन सकता और हर बार किसी Text को Access करने के लिए Loops का प्रयोग करना ठीक नहीं होता। इसलिए “C++” में Texts को Handle करने के लिए हम Strings Concept का प्रयोग करते हैं, जहां Characters का एक ऐसा Sequence जो Null Character से Terminate होता है, String कहलाता है। Strings “C” व “C++” दोनों ही भाषाओं की एक बुनियादी चीज है।

String Variables

String Characters का एक ऐसा समूह होता है जिसका अन्तिम Character एक Null Character या 0 होता है। Character के रूप में इस Null Value को ‘\0’ के रूप में दर्शाया जा सकता है। इस Null Character का प्रयोग करके हम किसी String का अन्त बताते हैं तब हमें किसी और Variable की आवश्‍यकता नहीं होती है जो किसी String की Length को Specify करे जैसाकि हमने Employee Class के Program में एक Integer Variable n का प्रयोग करके किया था।

अन्‍य Variables की तरह ही String भी char प्रकार का एक Variable होता है। इसे Create करते समय हम चाहें तो इसे अन्‍य Variables की तरह Initialize भी कर सकते हैं और यदि हम चाहें तो इसे बिना Initialize किए भी Create कर सकते हैं। हम निम्नानुसार किसी String को Declare कर सकते हैं:

char string[80];

ये Statement एक 80 Characters तक की String को Hold कर सकता है। जब ये Statement Execute होता है तब इसके किसी भी Element पर कोई मान नहीं होता है। एक String Variable को हम किसी भी Size का Declare कर सकते हैं। String की Size हमारी आवश्‍यकता पर निर्भर करती है।

वास्तव में ये एक Character प्रकार का One – Dimensional Array है। “C++” Strings को लगभग उसी तरह से Treat करता है जिस प्रकार से किसी अन्‍य Basic Data Type जैसे कि int को Treat करता है। cin व cout किसी भी String प्रकार के Variable को Handle कर सकता है। यानी हम निम्नानुसार किसी भी String Variable में String को Input कर सकते हैं और उसे Screen पर Print कर सकते हैं:

char string[10];
cin >> string;
cout<< string;

यहां पहला Statement एक String को Store करने के लिए character प्रकार का एक Array Declare करेगा और उसकी Size दस होगी। दूसरा Statement Keyboard से एक दस Characters तक की String को इस Variable में Store करेगा और तीसरा Statement इस Variable में Store String को Screen पर Display करेगा।

String Constants

जब हम कोई String Store करने के लिए कोई Variable Create करते हैं तो उस Variable को Create करते समय उसे अन्‍य Basic Type के Variables की तरह निम्नानुसार Initialize भी कर सकते हैं। जैसे:

char name[10] = { ‘K’, ’u’, ’l’, ‘d’, ‘e’, ‘e’, ‘p’, ‘\0’ };

किसी String को Initialize करने का यही तरीका है। इस तरह से Initialize करना काफी Inefficient लगता है। इसलिए हम इस String को निम्नानुसार Statement द्वारा भी Initialize कर सकते हैं:

char name[10] = “Kuldeep”;

यहां हमें Double Quote का प्रयोग करना जरूरी होता है। इस तरह से Characters का एक Sequence जो कि Double Quotes के बीच हो String Constants कहलाता है। हालांकि हम इस String में Null Character नहीं देख सकते हैं लेकिन “C++“ का Compiler इस Null Character को Automatically Insert कर लेता है। साथ ही इस String में केवल 7 Characters हैं लेकिन String की Length 8 Bytes है क्योंकि एक Character Null Value के लिए होता है। इसलिए हमें हमेंशा हमारी आवश्‍यकता से एक अधिक Size का Characters प्रकार का Array String Store करने के लिए लेना होता है। जैसे:

char name[7] = “Kuldeep”;

ये Statement ठीक नहीं है क्योंकि Null Character के लिए स्थान नहीं है। ऐसे में String का अन्तिम Character Null Character से Replace हो जाएगा और हमें String से केवल “Kuldee” ही प्राप्त होगा। इस Statement के स्थान पर हमें निम्नानुसार Statement लिखना होगा:

char name[8] = “Kuldeep”;

जब हम किसी String को Creation के समय ही Initialize करना चाहते हैं तब हमें String की Size Define करने की आवश्‍यकता नहीं होती है। “C++” का Compiler String की Size को स्वयं ही Calculate कर लेता है। जैसे हम उपरोक्त Statement को निम्नानुसार भी लिख सकते हैं:

char name[] = “Kuldeep”;

जब हम किसी String को Program के Run Time में किसी Variable में Store करना चाहते हैं तब हमें एक समस्या का सामना करना पडता है। जैसे निम्न Statements देखिए:

    char name[20];
    cout <<”Enter Name";   //Enter “Kuldeep Mishra”
    cin >> name;
    cout << name;            //Displays only “Kuldeep”

cin Operator, Space के मिलते ही Terminate हो जाता है। इस कारण से यदि हम Keyboard से Input करते समय String में Space का प्रयोग करते हैं तो Space से पहले की String Variable में Store हो जाती है लेकिन Space के बाद की String Variable में Store नहीं होती है।

इस समस्या से निकलने के लिए हम iostream Class के get() Member Function का प्रयोग कर सकते हैं। इस Class के बारे में विस्तार से हम आगे पढेंगे। यहां हम केवल Keyboard से Input किए जाने वाले पूरे नाम को Variable में Store करने के लिए निम्नानुसार Statements लिख सकते हैं:

    char name[20];
    cout <<”Enter Name";   //Enter “Kuldeep Mishra”
    cin.get(name, 20);
    cout << name;          //Displays only “Kuldeep Mishra”

इस Function में हमें दो Argument देने होते हैं:  पहला Argument उस Variable का नाम होता है, जिसमें String को Store करना है और दूसरा Argument उस String Variable की Size Specify करता है। हमने Array की Size 20 रखी है, इसलिए इस Function में दूसरे Argument के रूप में 20 Specify किया है और हम Input किए जाने वाले नाम को name नाम के Variable में Store करना चाहते हैं, इसलिए पहले Argument के रूप में हमने name लिखा है। अब यदि हम String में Space का प्रयोग करते हैं तो वह Space भी Variable में Store हो जाता है। यानी हम पूरा नाम name नाम के Character प्रकार के Array में Store कर सकते हैं।

CPP Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C++ Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C++ Programming Language in Hindi | Page: 666 | Format: PDF

BUY NOW GET DEMO REVIEWS