C ++ wcin - C ++ मानक पुस्तकालय

C ++ में wcin ऑब्जेक्ट क्लास वाइस्ट्रीम का एक ऑब्जेक्ट है। इसका उपयोग मानक इनपुट डिवाइस अर्थात कीबोर्ड से इनपुट को स्वीकार करने के लिए किया जाता है। यह मानक सी इनपुट स्ट्रीम स्टड के साथ जुड़ा हुआ है।

Wcin और Cin के बीच अंतर

cinउपयोगकर्ता char(संकीर्ण चरित्र) चरित्र प्रकार के रूप में। इसका उपयोग ASCII और ANSI वर्णों के लिए किया जा सकता है।

अंतर्राष्ट्रीयकरण के लिए, हमें यूनिकोड स्ट्रिंग्स की आवश्यकता होती है जो इसमें फिट नहीं होते हैं char। (विस्तृत वर्ण) wcinका उपयोग करता है wchar_tऔर यूनिकोड वर्णों के लिए प्रयोग करने योग्य है।

wcin की घोषणा

 एक्सटर्नल वाइस्ट्रीम wcin;

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

wcinवस्तु के दौरान या पहली बार के प्रकार का ऑब्जेक्ट से पहले प्रारंभ करने के लिए सुनिश्चित किया जाता है ios_base::Initका निर्माण किया है। wcinऑब्जेक्ट के निर्माण के बाद , wcin.tie()रिटर्न &wcoutजिसका अर्थ है कि किसी wcout.flush()भी वर्ण को आउटपुट के लिए लंबित हैं, तो wcin पर कोई स्वरूपित इनपुट ऑपरेशन कॉल को मजबूर करता है ।

"Wc" का wcinअर्थ "विस्तृत वर्ण" और 'में' का अर्थ "इनपुट" है, इसलिए wcinइसका अर्थ है "विस्तृत वर्ण इनपुट"। wcinवस्तु आदेश पात्रों में से एक धारा प्राप्त करने के लिए निष्कर्षण ऑपरेटर (>>) के साथ प्रयोग किया जाता है। सामान्य वाक्यविन्यास है:

 wcin >> varName;

निष्कर्षण ऑपरेटर को एक से अधिक बार इनपुट के रूप में स्वीकार करने के लिए उपयोग किया जा सकता है:

 wcin >> var1 >> var2 >>… >> varN;

wcinवस्तु भी इस तरह के रूप में अन्य सदस्य कार्यों के साथ इस्तेमाल किया जा सकता getline(), read()आदि आमतौर पर इस्तेमाल किया सदस्य कार्यों में से कुछ हैं:

  • wcin.get(wchar_t &ch): एक विस्तृत चरित्र पढ़ता है और इसे ch में संग्रहीत करता है।
  • wcin.getline(wchar_t *buffer, int length): स्ट्रिंग बफर में विस्तृत वर्णों की एक धारा को पढ़ता है, यह कब बंद हो जाता है
    • यह लंबाई -1 अक्षर या पढ़ा है
    • जब यह एक अंत-पंक्ति वर्ण (' n') या फ़ाइल का अंत पाता है।
  • wcin.read(wchar_t *buffer, int n): एन बाइट्स (या फ़ाइल के अंत तक) को बफर में स्ट्रीम से पढ़ता है।
  • wcin.ignore(int n): इनपुट स्ट्रीम से अगले n वर्णों को अनदेखा करता है।
  • wcin.eof(): यदि फ़ाइल का अंत (ईओएफ) तक पहुँच जाता है तो एक नॉनज़रो मान लौटाता है।

उदाहरण 1: निष्कर्षण ऑपरेटर के साथ wcin:

 #include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )

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

 एक शब्द दर्ज करें: काठमांडू काठमांडू

उदाहरण 2: सदस्य समारोह के साथ wcin:

 #include using namespace std; int main() ( wchar_t str(50), ch; wcout << L"Enter a string: "; wcin.getline(str, 20); wcout << L"Enter a character: "; wcin.get(ch); wcout << L"String = " << str << endl; wcout << L"Character = " << ch << endl; return 0; )

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

 एक स्ट्रिंग दर्ज करें: wcin का उपयोग करके प्रोग्राम दर्ज करें एक वर्ण दर्ज करें: h स्ट्रिंग = wcin का उपयोग करके प्रोग्राम = h

सावधान रहे

char16_tऔर char32_t, जिन्हें C ++ 11 में पेश किया गया था, का उपयोग करने की सिफारिश की गई है wchar_tक्योंकि wchar_tकुछ प्रणालियों पर 16 बिट और कुछ अन्य पर 32 बिट है। इससे पोर्ट करना मुश्किल हो जाता है।

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