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

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

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

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

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

 फ्लोट wcstof (const wchar_t * str, wchar_t ** str_end);

Wcstof () फ़ंक्शन वाइड स्ट्रिंग और एक पॉइंटर को वाइड कैरेक्टर के रूप में इसके पैरामीटर के रूप में लेता है, वाइड स्ट्रिंग की सामग्री को फ्लोटिंग पॉइंट नंबर के रूप में व्याख्या करता है और फ्लोट वैल्यू देता है।

wcstof () पैरामीटर

  • str: एक विस्तृत स्ट्रिंग जिसमें फ्लोटिंग पॉइंट संख्या का प्रतिनिधित्व होता है।
  • str_end: एक पॉइंटर को पॉइंटर से एक विस्तृत वर्ण तक। Str_end का मान फ़ंक्शन द्वारा अगले वैध वर्ण के बाद str में अगले वर्ण पर सेट होता है। यह पैरामीटर अशक्त सूचक भी हो सकता है।

wcstof () रिटर्न वैल्यू

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

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

यदि परिवर्तित मान सीमा से बाहर है, तो एक सीमा त्रुटि होती है और एक सकारात्मक या नकारात्मक HUGE_VAL वापस आ जाता है।

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

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str() = L"40.001u220fc12"; wchar_t *end; float value; value = wcstof(str,&end); wcout << L"Wide String = " << str << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )

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

 वाइड स्ट्रिंग = 40.001∏c12 फ़्लोट मान = 40.001 स्ट्रींग = 12c12

उदाहरण 2: wcstof () फ़ंक्शन अनुगामी वर्णों के बिना

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str() = L"791.513"; wchar_t *end; float value; value = wcstof(str,&end); wcout << L"Wide String = " << str << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )

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

 वाइड स्ट्रिंग = 791.513 फ्लोट मूल्य = 791.513 समाप्ति स्ट्रिंग =

Wcstof () फ़ंक्शन के लिए एक मान्य फ़्लोटिंग-पॉइंट मान में एक वैकल्पिक + या - साइन इन निम्नलिखित सेटों में से एक होता है:

  • दशमलव फ़्लोटिंग-पॉइंट मान के लिए :
    • दशमलव अंकों (0-9) का एक समूह, वैकल्पिक रूप से दशमलव बिंदु (।) युक्त। उदाहरण के लिए: 13.170, -5.63, आदि।
    • एक वैकल्पिक प्रतिपादक भाग (ई या ई) जिसके बाद एक वैकल्पिक + या - चिह्न अंक और दशमलव अंकों का गैर-खाली क्रम है। उदाहरण के लिए: 3.46101e + 007, 13.19e-013, आदि।
  • हेक्साडेसिमल फ्लोटिंग-पॉइंट वैल्यू के लिए :
    • 0x या 0X से शुरू होने वाली एक स्ट्रिंग, जिसके बाद हेक्साडेसिमल अंकों का एक गैर-खाली अनुक्रम होता है, वैकल्पिक रूप से दशमलव बिंदु (!) से युक्त होता है। उदाहरण के लिए: 0xfa5, -0xb1f.24, आदि।
    • एक वैकल्पिक प्रतिपादक भाग (p या P) जिसके बाद एक वैकल्पिक + या - चिह्न और हेक्साडेसिमल अंकों का गैर-खाली क्रम है। उदाहरण के लिए: 0x51c.23p5, -0x2a.3p-3, आदि।
  • अनंत :
    • जानकारी या जानकारी (मामले की अनदेखी)। उदाहरण के लिए: -इनफ, इंफीनेटी, आदि।
  • NaN (संख्या नहीं) :
    • NAN या NAN अनुक्रम (मामले की अनदेखी) जहां अनुक्रम वर्णों का एक अनुक्रम होता है जिसमें केवल अल्फ़ान्यूमेरिक वर्ण या अंडरस्कोर (_) होता है। परिणाम एक शांत NaN होता है। उदाहरण के लिए: नान, NaNab1, आदि।

उदाहरण 3: कैसे wcstof () घातांक और हेक्साडेसिमल के साथ काम करता है?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str1() = L"39.119e+2xxu0a93"; wchar_t str2() = L"0Xf1.23cu00d8a1"; wchar_t *end; float value; value = wcstof(str1,&end); wcout << L"Wide String = " << str1 << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; value = wcstof(str2,&end); wcout << L"Wide String = " << str2 << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )

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

 वाइड स्ट्रिंग = 39.119e + 2xx value फ्लोट मान = 3911.9 समाप्ति स्ट्रिंग = xx 0 वाइड स्ट्रिंग = 0Xf1.23cØa1 फ्लोट मान = 241.14 समाप्ति स्ट्रिंग = .11.1

उदाहरण 4: सूचना और NaN के लिए wcstof मामले

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str1() = L"-inFinityxu03a3y"; wchar_t str2() = L"NaN11u0429"; wchar_t *end; float value; value = wcstof(str1,&end); wcout << L"Wide String = " << str1 << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; value = wcstof(str2,&end); wcout << L"Wide String = " << str2 << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )

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

 वाइड स्ट्रिंग = -INFinityxΣy फ़्लोट मान = -इनफ़ एंड स्ट्रिंग = x =y वाइड स्ट्रिंग = NaN11 = फ़्लोट मान = नान एंड स्ट्रिंग = 11in

सामान्य तौर पर, wcstof () फ़ंक्शन के लिए एक मान्य फ्लोटिंग पॉइंट तर्क निम्न रूप में है:

 (व्हाट्सएप) (- | +) (अंक) (.digits) ((ई | ई) (- | + +) अंक)

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

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

उदाहरण 5: प्रमुख व्हाट्सएप के साथ wcstof () फ़ंक्शन

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str() = L" 21.69u04f8aa"; wchar_t *end; float value; value = wcstof(str,&end); wcout << L"Wide String = " << str << endl; wcout << L"Float value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )

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

 वाइड स्ट्रिंग = 21.69Ӹaa फ़्लोट मान = 21.69 समाप्ति स्ट्रिंग = =aa

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