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

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

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

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

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

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

क्लॉग घोषणा

 बाहरी ओस्ट्रीम क्लॉग;

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

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

क्लॉग में "c" "वर्ण" को संदर्भित करता है, इसलिए clog का अर्थ है "वर्ण लॉग"।

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

 clog << varName;

या

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

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

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

उदाहरण: क्लॉग कैसे काम करता है?

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

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

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

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

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