स्टोल () सी++ में फंक्शन

Stola Si Mem Phanksana



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

C++ में स्टोल फंक्शन

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









फ़ंक्शन स्टोल तीन पैरामीटर लेता है: input_string, आकार और आधार। 'इनपुट_स्ट्रिंग' इनपुट स्ट्रिंग का प्रतिनिधित्व करता है जिसे एक लंबी पूर्णांक संख्या में परिवर्तित करने की आवश्यकता होती है।



'आकार' पैरामीटर size_t प्रकार की वस्तु का प्रतिनिधित्व करता है जो संख्यात्मक मान के बाद इनपुट स्ट्रिंग में अगली वर्ण स्थिति रखता है। यदि उपयोग करने की आवश्यकता नहीं है तो यह एक शून्य सूचक हो सकता है।





तीसरा पैरामीटर, 'आधार' पैरामीटर उस आधार का प्रतिनिधित्व करता है जिसमें स्ट्रिंग की व्याख्या करने की आवश्यकता होती है। उदाहरण के लिए, यदि '2' आधार दिया गया है, तो स्ट्रिंग को पूर्णांक आधार 2 संख्या के रूप में व्याख्यायित किया जाएगा। आधार पैरामीटर का डिफ़ॉल्ट मान 10 है और यदि 0 प्रदान किया जाता है तो आधार मान अनुक्रम में प्रारूप द्वारा निर्धारित किया जाएगा। स्टोल फ़ंक्शन किसी दिए गए स्ट्रिंग के इंट मान का प्रतिनिधित्व करने वाली लंबी पूर्णांक संख्या देता है।

अब, यह समझने के लिए कुछ उदाहरण देखें कि C++ में स्टोल फ़ंक्शन कैसे काम करता है।



उदाहरण 1

इस उदाहरण में, हम यह जांचने के लिए दशमलव और हेक्साडेसिमल स्ट्रिंग प्रदान करेंगे कि स्टोल फ़ंक्शन उन्हें दशमलव और हेक्साडेसिमल पूर्णांक संख्याओं में कैसे परिवर्तित करता है।

'dec = 123456789' एक दशमलव स्ट्रिंग है और स्टोल फ़ंक्शन स्टोल (dec, और आकार) का उपयोग करके एक लंबे पूर्णांक में परिवर्तित किया जाता है। ध्यान दें कि फ़ंक्शन में इनपुट पैरामीटर के रूप में आधार प्रदान नहीं किया गया है, जिसके परिणामस्वरूप स्ट्रिंग को दशमलव संख्या में बदलने के लिए डिफ़ॉल्ट आधार 10 का उपयोग किया जाता है। हालांकि, स्ट्रिंग को हेक्साडेसिमल संख्या से दशमलव संख्या में बदलने के लिए, आधार 16 को इनपुट पैरामीटर स्टोल (हेक्स, नलप्टर, 16) के रूप में प्रदान किया जाता है। जैसा कि हम जानते हैं, 16 आधार एक हेक्साडेसिमल संख्या का प्रतिनिधित्व करता है।

#शामिल करें

#शामिल करें <स्ट्रिंग>

#शामिल करें

पूर्णांक मुख्य ( )

{

कक्षा :: डोरी दिसम्बर = '123456789' ;
कक्षा :: डोरी हेक्स = 'ए2बीएफ3सी' ;
कक्षा :: डोरी :: आकार प्रकार आकार ;
लंबा लिडेक = कक्षा :: मेज़ ( दिसंबर, और आकार ) ;
लंबा लीहेक्स = कक्षा :: मेज़ ( हेक्स, नलप्ट्र , 16 ) ;
कक्षा :: अदालत << 'इनपुट दशमलव स्ट्रिंग' << दिसम्बर << 'लंबे इंट में परिवर्तित' << लिडेक << ' \एन ' ;
कक्षा :: अदालत << 'इनपुट हेक्साडेसिमल स्ट्रिंग' << हेक्स << 'लंबे इंट में परिवर्तित' << लीहेक्स << ' \एन ' ;
वापसी 0 ;


}

यहाँ निम्न आउटपुट है। ध्यान दें कि दशमलव स्ट्रिंग '123456789' को '123456789' दशमलव लंबे पूर्णांक में बदल दिया गया है। जबकि हेक्साडेसिमल स्ट्रिंग 'a2bf3c' '10665788' हेक्साडेसिमल संख्या में परिवर्तित हो गई। स्टोल फ़ंक्शन द्वारा रूपांतरण कैसे किया जाता है, यह जानने के लिए आप यहां आवश्यक कदम उठा सकते हैं:

( ए2बीएफ3सी ) मैं = ( 10 × 16 मैं ) + ( दो × 16 मैं ) + ( ग्यारह × 16 मैं ) + ( पंद्रह × 16 मैं ) + ( 3 × 16 मैं ) + ( 12 × 16 मैं ) = ( 10665788 ) मैं

उदाहरण # 2

इस उदाहरण में, हम स्टोल फ़ंक्शन का उपयोग करके एक बाइनरी नंबर को रूपांतरित करेंगे। आइए नीचे दिए गए कोड को देखें और कोड की कार्यप्रणाली को समझें। '1010110110' को इनपुट स्ट्रिंग के रूप में दिया गया है और बेस 2 को इनपुट बेस पैरामीटर स्टोल (बिन, और आकार, 2) के रूप में प्रदान किया गया है, जो बाइनरी प्रारूप में संख्या का प्रतिनिधित्व करता है। स्टोल फ़ंक्शन इन चरणों का पालन करके बाइनरी नंबर को दशमलव संख्या में बदल देगा:

( 1010110110 ) मैं = ( 1 × दो मैं ) + ( 0 × दो मैं ) + ( 1 × दो मैं ) + ( 0 × दो मैं ) + ( 1 × दो मैं ) + ( 1 × दो मैं ) + ( 0 × दो मैं ) + ( 1 × दो मैं ) + ( 1 × दो मैं ) + ( 0 × दो मैं ) = ( 694 ) मैं #शामिल करें

#शामिल करें <स्ट्रिंग>

#शामिल करें

पूर्णांक मुख्य ( )

{

कक्षा :: डोरी बिन = '1010110110' ;
कक्षा :: डोरी :: आकार प्रकार आकार ;
लंबा लिबिन = कक्षा :: मेज़ ( बिन, और आकार, दो ) ;
कक्षा :: अदालत << 'इनपुट बाइनरी स्ट्रिंग' << बिन << 'लंबे इंट में परिवर्तित' << लिबिन << ' \एन ' ;
वापसी 0 ;


}

जैसा कि आप देख सकते हैं कि स्टोल फ़ंक्शन ने सामान्य बाइनरी से दशमलव रूपांतरण प्रक्रिया के समान परिणाम दिया।

उदाहरण # 3

इस उदाहरण में, हम यह देखने जा रहे हैं कि यदि हम अमान्य इनपुट के साथ स्टोल फ़ंक्शन का परीक्षण करते हैं तो क्या होता है। स्टोल फ़ंक्शन को कई वर्णों की एक स्ट्रिंग प्रदान की जाएगी और 0 को आधार मान के रूप में प्रदान किया जाएगा ताकि फ़ंक्शन स्वचालित रूप से स्ट्रिंग का आधार निर्धारित कर सके। यहाँ कोड है:

वर्णों का एक सेट एक इनपुट स्ट्रिंग के रूप में प्रदान किया जाता है जो किसी भी आधार मान, यानी 10, 16, 2, आदि द्वारा निर्धारित नहीं होता है, इसलिए फ़ंक्शन एक त्रुटि मान लौटाएगा।

#शामिल करें

#शामिल करें <स्ट्रिंग>

#शामिल करें

पूर्णांक मुख्य ( )

{

कक्षा :: डोरी chr = 'abcdefgh' ;

कक्षा :: डोरी :: आकार प्रकार आकार ;
लंबा एसटीआर = कक्षा :: मेज़ ( सीआर, नलप्ट्र , 0 ) ;
कक्षा :: अदालत << 'इनपुट वर्ण स्ट्रिंग' << chr << 'लंबे इंट में परिवर्तित' << एसटीआर << ' \एन ' ;
वापसी 0 ;


}

नीचे आउटपुट देखें। ध्यान दें कि कंपाइलर ने 'अमान्य_आर्ग्यूमेंट' अपवाद उठाया है क्योंकि फ़ंक्शन उन स्ट्रिंग्स को पूरा नहीं करता है जिन्हें किसी भी आधार मान के साथ निर्धारित नहीं किया जा सकता है।

उदाहरण # 4

इस उदाहरण में, हम स्टोल () फ़ंक्शन के परिणाम को देखने के लिए मान्य और अमान्य इनपुट का संयोजन प्रदान करेंगे।

इनपुट स्ट्रिंग मान्य और अमान्य वर्णों का एक संयोजन है, '123xf25'। '0' isg एक इनपुट बेस के रूप में प्रदान किया जाता है ताकि फ़ंक्शन वर्णों के प्रकार के आधार पर स्वचालित रूप से इनपुट स्ट्रिंग का आधार निर्धारित कर सके।

#शामिल करें

#शामिल करें <स्ट्रिंग>

#शामिल करें

पूर्णांक मुख्य ( )

{

कक्षा :: डोरी chr = '123xf25' ;
कक्षा :: डोरी :: आकार प्रकार आकार ;
लंबा एसटीआर = कक्षा :: मेज़ ( सीआर, नलप्ट्र , 0 ) ;
कक्षा :: अदालत << 'इनपुट स्ट्रिंग ' << chr << 'लंबे इंट में परिवर्तित' << एसटीआर << ' \एन ' ;
वापसी 0 ;


}

यहां वह आउटपुट है जो वैध और अमान्य इनपुट के संयोजन के साथ स्टोल फ़ंक्शन के कार्य को दिखाता है:

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

निष्कर्ष

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