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

C ++ में wcerr ऑब्जेक्ट क्लास ओस्ट्रीम का एक ऑब्जेक्ट है। यह मानक C त्रुटि आउटपुट स्ट्रीम stderr के साथ जुड़ा हुआ है।

Cerr और wcerr के बीच अंतर

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

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

Wcout और wcerr के बीच अंतर

शुरुआती सी ++ प्रोग्रामर का उपयोग coutऔर wcoutमानक आउटपुट का उपयोग कर अपने कार्यक्रमों डिबग करने के लिए त्रुटि प्रदर्शित करने के लिए, लेकिन यह हमेशा उपयोग करने के लिए अच्छा अभ्यास है cerrऔर wcerrप्रदर्शन त्रुटियों के लिए।

ऐसा इसलिए है क्योंकि स्क्रीन पर त्रुटि स्ट्रीम दिखाने के बजाय, आप बाद में त्रुटियों को फ़ाइल में लिखने के लिए त्रुटि स्ट्रीम बदल सकते हैं।

wcerr घोषणा

 बाहरी wostream wcerr; 

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

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

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

 wcerr << varName;

या

 wcerr << "कुछ स्ट्रिंग";

निष्कर्षण ऑपरेटर का उपयोग चर, तार और जोड़तोड़ (जैसे endl) के संयोजन के साथ एक से अधिक बार किया जा सकता है :

 wcerr << var1 << "कुछ स्ट्रिंग" << var2 << endl;

उदाहरण: wcerr कैसे काम करता है?

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wcerr << "Error while opening the file " << fileName << endl; return; )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा: (यदि फ़ाइल नहीं खोली जा सकती)

 फ़ाइल data.txt को खोलते समय त्रुटि

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