C ++ swprintf () - C ++ Standard Library

C ++ में swprintf () फ़ंक्शन का उपयोग फॉर्मैटेड वाइड स्ट्रिंग को वाइड स्ट्रिंग बफर में लिखने के लिए किया जाता है।

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

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

 int swprintf (wchar_t * बफर, size_t आकार, const wchar_t * प्रारूप,…);

Swprintf () फंक्शन बफर द्वारा बताए गए वाइड स्ट्रिंग को लिखता है। लिखे जा सकने वाले वर्णों की अधिकतम संख्या (आकार -1) है।

पात्रों को लिखे जाने के बाद, एक समाप्ति शून्य विस्तृत वर्ण जोड़ा जाता है।

विस्तृत स्ट्रिंग प्रारूप में% के साथ शुरू होने वाले प्रारूप विनिर्देशक हो सकते हैं, जिन्हें अतिरिक्त तर्क के रूप में स्वैरिफ़ () फ़ंक्शन में पारित होने वाले चर के मूल्यों द्वारा प्रतिस्थापित किया जाता है।

swprintf () पैरामीटर

  • बफर: परिणाम लिखने के लिए स्ट्रिंग बफर को इंगित करें।
  • आकार: बफर में लिखे जाने वाले अधिकतम वर्ण निर्दिष्ट करें जो आकार -1 है।
  • प्रारूप: एक सूचक एक अशक्त समाप्त होने वाली चौड़ी स्ट्रिंग है जिसे stdout को लिखा जाता है। इसमें% के साथ शुरू होने वाले वैकल्पिक प्रारूप विनिर्देशक के साथ विस्तृत वर्ण शामिल हैं। प्रारूप विनिर्देशक संबंधित चर के मूल्यों द्वारा प्रतिस्थापित किए जाते हैं जो प्रारूप का अनुसरण करते हैं।
    प्रारूप विनिर्देशक के निम्नलिखित भाग होते हैं:
    • एक अग्रणी% चिन्ह
    • झंडे: वैकल्पिक एक या अधिक झंडे जो रूपांतरण व्यवहार को संशोधित करते हैं।
      • - - वाम क्षेत्र के भीतर परिणाम को सही ठहराते हैं। डिफ़ॉल्ट रूप से यह सही है।
      • +: परिणाम का संकेत मूल्य की शुरुआत से जुड़ा है, यहां तक ​​कि सकारात्मक परिणामों के लिए भी।
      • अंतरिक्ष: यदि कोई संकेत नहीं है, तो परिणाम की शुरुआत के लिए एक स्थान जुड़ा हुआ है।
      • #: रूपांतरण का एक वैकल्पिक रूप प्रदर्शन किया जाता है।
      • 0: इसका उपयोग पूर्णांक और फ्लोटिंग पॉइंट संख्या के लिए किया जाता है। अंतरिक्ष के बजाय संख्याओं को पैड करने के लिए अग्रणी शून्य का उपयोग किया जाता है।
    • चौड़ाई: न्यूनतम चौड़ाई क्षेत्र को निर्दिष्ट करने के लिए उपयोग किया गया एक वैकल्पिक * या पूर्णांक मान।
    • परिशुद्धता: एक वैकल्पिक क्षेत्र जिसमें एक है। परिशुद्धता को निर्दिष्ट करने के लिए * या पूर्णांक या कुछ भी नहीं है।
    • लंबाई: एक वैकल्पिक लंबाई संशोधक जो तर्क के आकार को निर्दिष्ट करता है।
    • विनिर्देशक: रूपांतरण प्रारूप निर्दिष्ट करता है। उपलब्ध प्रारूप विनिर्देशक इस प्रकार हैं:
    प्रारूप विनिर्देशक
    प्रारूप विनिर्देशक विवरण
    % प्रिंट%
    सी एकल चरित्र लिखता है
    एस एक चरित्र स्ट्रिंग लिखता है
    d या i दशमलव प्रतिनिधित्व के लिए एक हस्ताक्षरित पूर्णांक बदलता है
    एक अहस्ताक्षरित पूर्णांक को अष्टक प्रतिनिधित्व में परिवर्तित करता है
    एक्स या एक्स एक अहस्ताक्षरित पूर्णांक को हेक्साडेसिमल प्रतिनिधित्व में परिवर्तित करता है
    यू एक अहस्ताक्षरित पूर्णांक को दशमलव प्रतिनिधित्व में परिवर्तित करता है
    च या च दशमलव प्रतिनिधित्व के लिए फ़्लोटिंग-पॉइंट संख्या को कनवर्ट करता है
    ई या ई दशमलव प्रतिपादक अंकन के लिए फ्लोटिंग-पॉइंट संख्या को परिवर्तित करता है
    ए या ए हेक्साडेसिमल एक्सपोनेंट के लिए फ्लोटिंग-पॉइंट नंबर को परिवर्तित करता है
    जी या जी फ़्लोटिंग-पॉइंट नंबर को या तो दशमलव या दशमलव घातांक संकेतन में परिवर्तित करता है
    एन इस कॉल द्वारा फ़ंक्शन में अब तक लिखे गए वर्णों की संख्या लौटाता है। परिणाम तर्क द्वारा इंगित मूल्य को लिखा जाता है
    पी एक सूचक को परिभाषित करते हुए एक कार्यान्वयन परिभाषित वर्ण अनुक्रम लिखता है।

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

swprintf () return value

  • सफलता पर, swprintf () फ़ंक्शन वर्णों की संख्या को समाप्त करता है जो कि रिक्त व्यापक वर्ण को छोड़कर है।
  • यदि एन्कोडिंग त्रुटि हुई या उत्पन्न होने वाले वर्णों की संख्या आकार के बराबर या अधिक थी, तो एक नकारात्मक मान लौटाया जाता है।

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

 #include #include #include #include using namespace std; int main() ( wchar_t hebrew_str() = L"u05D0 u05D1 u05E1 u05D3 u05EA"; wchar_t buffer(100); setlocale(LC_ALL, "en_US.UTF-8"); swprintf(buffer, sizeof(hebrew_str), L"%ls", hebrew_str); wcout << L"Some hebrew letters" << buffer << endl; return 0; )

जब आप प्रोग्राम चलाते हैं, तो निम्न उदाहरण के लिए लिखा जाएगा।

 कुछ हेब्रन पत्र ב ס ד ת

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