C ++ wcstol () - C ++ मानक पुस्तकालय

C ++ में wststol () फ़ंक्शन निर्दिष्ट बेस की एक अभिन्न संख्या के रूप में एक विस्तृत स्ट्रिंग की सामग्री की व्याख्या करता है और एक लंबे इंट के रूप में इसका मान लौटाता है।

Wcstol () फंक्शन भी एक पॉइंटर को सेट करता है, जो कि चौड़े स्ट्रिंग के अंतिम वैध चरित्र के बाद पहले वर्ण को इंगित करता है यदि कोई हो, अन्यथा पॉइंटर को शून्य करने के लिए सेट किया गया है।

इसे हेडर फ़ाइल में परिभाषित किया गया है।

 आधार 10 और विस्तृत स्ट्रिंग L "12abc" मान्य संख्यात्मक भाग के लिए -> 12 वैध सांख्यिक भाग के बाद पहला वर्ण -> a

wcstol () प्रोटोटाइप

 लंबी wcstol (const wchar_t * str, wchar_t ** str_end, int base);

Wcstol () फ़ंक्शन एक विस्तृत स्ट्रिंग, विस्तृत वर्ण के लिए एक संकेतक और एक पूर्णांक मान - आधार को इसके पैरामीटर के रूप में लेता है, विस्तृत स्ट्रिंग की सामग्री को दिए गए आधार की एक अभिन्न संख्या के रूप में व्याख्या करता है और एक लंबा इंट वैल्यू देता है।

wcstol () पैरामीटर

  • str: एक व्यापक स्ट्रिंग जिसमें एक अभिन्न संख्या का प्रतिनिधित्व होता है।
  • str_end: एक पॉइंटर को एक पॉइंटर को एक विस्तृत चरित्र के लिए। Str_end का मान फ़ंक्शन द्वारा अगले वैध वर्ण के बाद str में अगले वर्ण पर सेट होता है। यह पैरामीटर एक शून्य सूचक भी हो सकता है, जिस स्थिति में इसका उपयोग नहीं किया जाता है।
  • आधार: अभिन्न मूल्य का आधार। आधार के लिए मान्य मानों का समूह (0, 2, 3,…, 35, 36) है।

wcstol () वापसी मान

Wcstol () फ़ंक्शन रिटर्न:

  • एक लंबा int मान (जो स्ट्रिंग से परिवर्तित किया गया है)।
  • 0 यदि कोई वैध रूपांतरण नहीं किया जा सका।

उदाहरण 1: wcstol () फ़ंक्शन कैसे काम करता है?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str1() = L"101aau16b6"; wchar_t str2() = L"59"; wchar_t *end; long value; int base = 10; value = wcstol(str1, &end, base); wcout << L"String value = " << str1 << endl; wcout << L"Long Int value = " << value << endl; wcout << L"End String = " << end << endl; value = wcstol(str2, &end, base); wcout << L"String value = " << str2 << endl; wcout << L"Long Int value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 स्ट्रिंग वैल्यू = 101aa Int लॉन्ग इन्ट वैल्यू = 101 एंड स्ट्रिंग = आ = स्ट्रिंग वैल्यू = 59 लॉन्ग इंट वैल्यू = 59 एंड स्ट्रिंग =

Wcstol () फ़ंक्शन के लिए एक मान्य पूर्णांक मान निम्न हैं:

  • एक वैकल्पिक + या - संकेत।
  • अष्टक आधार के लिए एक उपसर्ग 0 (केवल आधार = 8 या 0 पर लागू होता है)।
  • हेक्साडेसिमल आधार के लिए एक उपसर्ग 0x या 0X (केवल तब लागू होता है जब आधार = 16 या 0)।
  • अंकों और / या अक्षर का एक क्रम (यदि आधार 10 से अधिक है)।

पैरामीटर बेस के लिए मान्य मान (0, 2, 3,…, 35, 36) है। आधार 2 के लिए मान्य अंकों का एक सेट है (0, 1) के लिए, आधार 3 है (0, 1, 2) और इसी तरह। 11 से 36 तक के आधारों के लिए, वैध अंकों में अक्षर शामिल हैं। आधार 11 के लिए मान्य अंकों का सेट आधार के लिए (0, 1, 9, ए, ए) है, 12 (0, 1,…, 9, ए, ए, बी, बी) और इतने पर है।

उदाहरण 2: wcstol () विभिन्न आधारों के साथ कार्य करता है

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t *end; wchar_t str() = L"311bzu03feu03ff"; wcout << str << L" to Long Int with base-5 = " << wcstol(str, &end, 5) << endl; wcout << L"End String = " << end << endl << endl; wcout << str << L" to Long Int with base-5 = " << wcstol(str, &end, 12) << endl; wcout << L"End String = " << end << endl << endl; wcout << str << L" to Long Int with base-5 = " << wcstol(str, &end, 36) << endl; wcout << L"End String = " << end << endl << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 311bz 81 से बेस -5 के साथ लॉन्ग इंट में = 5 -81 छोर स्ट्रिंग = bz11 311bzϾϿ से लॉन्ग इंट में आधार -5 = 5351 एंड स्ट्रिंग = zϾϿ 311bzϾϿ के साथ लॉन्ग इंट में आधार -5 = 503231 एंड स्ट्रिंग = ϾϿ

Wcstol () फ़ंक्शन सभी प्रमुख व्हाट्सएप पात्रों को अनदेखा करता है जब तक कि प्राथमिक गैर-व्हाट्सएप चरित्र नहीं मिलता है।

सामान्य तौर पर, wcstol () फ़ंक्शन के लिए एक मान्य पूर्णांक तर्क निम्न रूप में है:

 (व्हाट्सएप) (- | +) (0 | 0x) (अल्फ़ान्यूमेरिक वर्ण)

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

उदाहरण 3: प्रमुख व्हाट्सएप और अमान्य रूपांतरण के लिए wcstol () फ़ंक्शन

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t *end; wcout << L" 205u03e2x to Long Int with base-5 = " << wcstol(L" 205u03e2x", &end, 5) << endl; wcout << L"End String = " << end << endl << endl; wcout << L"xu019cz201 to Long Int with base-12 = " << wcstol(L"xu019cz201", &end, 12) << endl; wcout << L"End String = " << end << endl << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 205x बेस -5 के साथ लॉन्ग इंट में = 5 एंड स्ट्रींग = 5Ɯx x201z201 से लॉन्ग इंट तक बेस -12 = 0 एंड स्ट्रिंग = xƜz201 के साथ

यदि आधार 0 है, तो स्ट्रिंग के प्रारूप को देखकर संख्यात्मक आधार स्वचालित रूप से निर्धारित किया जाता है। यदि उपसर्ग 0 है, तो आधार अष्टक (8) है। यदि उपसर्ग 0x या 0X है, तो आधार हेक्साडेसिमल (16) है, अन्यथा आधार दशमलव (10) है।

उदाहरण 4: wcstol () बेस 0 के साथ कार्य करता है

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t *end; wcout << L"0539u1e84 to Long Int with base-0 = " << wcstol(L"0539u1e84", &end, 0) << endl; wcout << L"End String = " << end << endl << endl; wcout << L"0xa31u05e2 to Long Int with base-0 = " << wcstol(L"0xa31u05e2", &end, 0) << endl; wcout << L"End String = " << end << endl << endl; wcout << L"119xu060f to Long Int with base-0 = " << wcstol(L"119xu060f", &end, 0) << endl; wcout << L"End String = " << end << endl << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 0539 05 से बेस-0 के साथ लॉन्ग इंट में = 0 = 43 एंड स्ट्रिंग = 9x 0xa31 ע से लॉन्ग इंट में बेस-0 = 2609 एंड स्ट्रिंग = ע 119x ؏ से लॉन्ग इंट में बेस-0 = 119 के साथ स्ट्रिंग = x

दिलचस्प लेख...