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

C ++ में wclog ऑब्जेक्ट वर्ग wostream का ऑब्जेक्ट है। यह मानक C त्रुटि आउटपुट स्ट्रीम stderr के साथ जुड़ा हुआ है।

क्लॉग और वैकलॉग के बीच अंतर

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

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

Wcerr और wclog के बीच अंतर

wclogऔर wcerr, दोनों के साथ जुड़ा हुआ है stderr, लेकिन यह wcerrइस अर्थ में भिन्न है कि धाराएं wclogबफर हैं और स्वचालित रूप से बंधे नहीं हैं wcout

बफ़र्ड आउटपुट अनफ़रवर्ड आउटपुट की तुलना में अधिक कुशल है। बफ़र्ड आउटपुट के मामले में, सभी आउटपुट को एक चर में सहेजा जाता है और एक ही बार में डिस्क पर लिखा जाता है। असंबद्ध आउटपुट के लिए, हमें डिस्क पर लिखना जारी रखना होगा।

महत्वपूर्ण त्रुटियों के लिए बफर आउटपुट को प्राथमिकता नहीं दी जाती है। सिस्टम क्रैश के मामले में, ऐसी स्थिति आ सकती है जहां आउटपुट अभी भी बफर में था और डिस्क पर नहीं लिखा गया था और त्रुटि संदेश पुनर्प्राप्त नहीं किया जा सकता है। हम सिस्टम क्रैश के मामले में त्रुटि डेटा को खोना नहीं कर सकते हैं, इसलिए हम धीमी होने के बावजूद डिस्क के लिए महत्वपूर्ण त्रुटियों को लिखते रहते हैं।

wclogआमतौर पर लॉगिंग उद्देश्यों के लिए उपयोग किया जाता है। गैर-महत्वपूर्ण ईवेंट लॉगिंग के लिए, दक्षता अधिक महत्वपूर्ण है ताकि wclog को प्राथमिकता दी जाए wcerr

wclog घोषणा

 बाहरी अस्थि-पंजर wclog;

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

wclogवस्तु के दौरान या पहली बार के प्रकार का ऑब्जेक्ट से पहले प्रारंभ करने के लिए सुनिश्चित किया जाता है ios_base::Initका निर्माण किया है। wclogकिसी अन्य धारा से बंधा हुआ नहीं है।

"WC" में wclog, "विस्तृत चरित्र" को संदर्भित करता है इसलिए wclog"विस्तृत चरित्र लॉग" का मतलब है। द

wclogवर्णों की एक स्ट्रीम प्रदर्शित करने के लिए इंसर्शन ऑपरेटर (<<) के साथ ऑब्जेक्ट का उपयोग किया जाता है। सामान्य वाक्यविन्यास है:

 wclog << varName;

या

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

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

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

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

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

When you run the program, a possible output will be (if there is error in opening the file):

 Error while opening the file data.txt

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