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

C ++ में vwscanf () फ़ंक्शन का उपयोग स्टड से विस्तृत वर्ण स्ट्रिंग को पढ़ने के लिए किया जाता है।

Vwscanf () फ़ंक्शन को हेडर फ़ाइल में परिभाषित किया गया है।

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

 int vwscanf (const wchar_t * प्रारूप, va_list vlist);

Vwscanf () फ़ंक्शन स्टैड से डेटा पढ़ता है और संबंधित स्थानों में मूल्यों को संग्रहीत करता है जैसा कि vlist द्वारा परिभाषित किया गया है।

vwscanf () पैरामीटर

  • प्रारूप: एक शून्य-समाप्त विस्तृत वर्ण स्ट्रिंग को इंगित करता है जो इनपुट को पढ़ने के लिए निर्दिष्ट करता है। इसमें% के साथ शुरू होने वाले प्रारूप विनिर्देशक शामिल हैं।
    प्रारूप स्ट्रिंग में निम्नलिखित भाग होते हैं:
    • % में से प्रत्येक को छोड़कर गैर व्हाट्सएप वर्ण जिनमें से इनपुट स्ट्रीम से एक समान वर्ण का उपभोग करता है। यह फ़ंक्शन को विफल करने का कारण बन सकता है यदि धारा पर अगला चरित्र बराबर की तुलना नहीं करता है।
    • व्हॉट्सएप चरित्र: सभी लगातार व्हाट्सएप पात्रों को सिंगल व्हाट्सएप चरित्र माना जाता है। इसके अलावा, ' n', ' t' और '' को एक ही माना जाता है।
    • रूपांतरण विनिर्देशन: यह निम्न प्रारूप का अनुसरण करता है:
      • प्रारंभिक% वर्ण जो शुरुआत को निर्दिष्ट करता है
      • एक वैकल्पिक * असाइनमेंट-दबाने वाला चरित्र। यदि यह वर्ण मौजूद है, तो vwscanf () किसी भी प्राप्त तर्क के लिए परिणाम निर्दिष्ट नहीं करता है।
      • एक वैकल्पिक सकारात्मक पूर्णांक संख्या जो अधिकतम फ़ील्ड चौड़ाई निर्दिष्ट करती है। यह वर्णों की अधिकतम संख्या को निर्दिष्ट करता है जो वर्तमान रूपांतरण विनिर्देश द्वारा निर्दिष्ट रूपांतरण करते समय vwscanf () को उपभोग करने की अनुमति देता है।
      • एक वैकल्पिक लंबाई संशोधक प्राप्त तर्क के आकार को निर्दिष्ट करता है।
      • एक रूपांतरण प्रारूप निर्दिष्ट करता है।
    प्रारूप विनिर्देशक
    प्रारूप विनिर्देशक विवरण
    % शाब्दिक% से मेल खाता है
    सी किसी एकल वर्ण या एकाधिक वर्णों से मेल खाता है। यदि चौड़ाई परिभाषित की गई है, तो बिल्कुल चौड़ाई वर्णों से मेल खाती है।
    एस लगातार गैर व्हाट्सएप पात्रों से मेल खाता है। यदि चौड़ाई को परिभाषित किया गया है, तो पूरी तरह से वर्णों से मेल खाता है या पहले व्हाट्सएप मिलने तक।
    (सेट) पात्रों के दिए गए सेट से चरित्र के एक गैर खाली अनुक्रम का मिलान करता है। यदि सेट की शुरुआत में मौजूद है, तो सेट में मौजूद सभी वर्ण मेल नहीं खाते हैं।
    d एक दशमलव पूर्णांक से मेल खाता है।
    मैं एक पूर्णांक से मेल खाता है।
    एक अहस्ताक्षरित अष्टक पूर्णांक से मेल खाता है।
    एक्स या एक्स एक अहस्ताक्षरित हेक्साडेसिमल पूर्णांक से मेल खाता है।
    यू एक अहस्ताक्षरित दशमलव पूर्णांक से मेल खाता है।
    ए या ए, ई या ई, एफ या एफ, जी या जी एक फ्लोटिंग-पॉइंट नंबर से मेल खाता है।
    एन अब तक पढ़े गए पात्रों की संख्या लौटाता है।
    पी एक पॉइंटर को परिभाषित करते हुए एक कार्यान्वयन परिभाषित वर्ण अनुक्रम से मेल खाता है।

    तो प्रारूप विनिर्देशक का सामान्य प्रारूप है:
     % (*) (चौड़ाई) (लंबाई) निर्दिष्ट करें
  • vlist: इनपुट प्राप्त करने के लिए तर्कों की एक सूची।

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

  • सफल होने पर, vwscanf () फ़ंक्शन तर्कों की संख्या को सफलतापूर्वक पढ़ता है।
  • विफलता पर, ईओएफ वापस कर दिया जाता है।

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

 #include #include #include void read( const wchar_t* format,… ) ( va_list args; va_start (args, format); vwscanf (format, args); va_end (args); ) int main () ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t name(50); wprintf(L"What is your name? "); read(L" %ls", name); wprintf(L"Hello %ls", name); return 0; )

जब आप प्रोग्राम चलाते हैं, तो एक संभावित आउटपुट होगा:

तुम्हारा नाम क्या हे? गोट्ज़ हैलो गोट्ज़

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