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

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

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

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

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

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

 लंबे लंबे wcstoll (const wchar_t * str, wchar_t ** str_end, int base);

Wcstoll () फ़ंक्शन वाइड स्ट्रिंग str, पॉइंटर टू वाइड कैरेक्टर str_end और पूर्णांक मान - बेस को अपने पैरामीटर के रूप में लेता है।

यह व्यापक स्ट्रिंग की सामग्री को दिए गए आधार की एक अभिन्न संख्या के रूप में व्याख्या करता है और लंबे समय तक अंतर मान देता है।

wcstoll () पैरामीटर

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

wcstoll () वापसी मान

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

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

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

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

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

 स्ट्रिंग मूल्य = 41ringxx लंबे लंबे मान = 41 छोर स्ट्रिंग = ringxx स्ट्रिंग मूल्य = 127 लंबे समय मूल्य = 127 अंत स्ट्रिंग =

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

  • एक वैकल्पिक + या - संकेत।
  • अष्टक आधार के लिए एक उपसर्ग 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: विभिन्न ठिकानों के साथ wcstoll () फ़ंक्शन

 #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 Long Int with base-5 = " << wcstoll(str, &end, 5) << endl; wcout << L"End String = " << end << endl << endl; wcout << str << L" to Long Long Int with base-12 = " << wcstoll(str, &end, 12) << endl; wcout << L"End String = " << end << endl << endl; wcout << str << L" to Long Long Int with base-36 = " << wcstoll(str, &end, 36) << endl; wcout << L"End String = " << end << endl << endl; return 0; )

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

 बेस -5 के साथ 311bz St से लॉन्ग लॉन्ग इंट- 5 = 81 एंड स्ट्रिंग = bz11 311bzϾϿ से लॉन्ग लॉन्ग इंट में बेस -12 = 5351 एंड स्ट्रिंग = zϾϿ 311bzϾϿ से लॉन्ग लॉन्ग इंट में बेस -36 = 5087231 एंड स्ट्रिंग = ϾϿ

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

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

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

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

अंतिम वैध चरित्र को नजरअंदाज करने के बाद स्ट्रिंग के जो कुछ भी बचा है, उसका परिणाम पर कोई प्रभाव नहीं पड़ता है।

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

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

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

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

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

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

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

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