C ++ में cerr ऑब्जेक्ट क्लास ओस्ट्रीम का एक ऑब्जेक्ट है। यह मानक C त्रुटि आउटपुट स्ट्रीम stderr के साथ जुड़ा हुआ है।
cerr घोषणा
extern ओस्ट्रीम cerr;
इसे हेडर फ़ाइल "> हेडर फ़ाइल में परिभाषित किया गया है।
cerr
वस्तु के दौरान या पहली बार के प्रकार का ऑब्जेक्ट से पहले प्रारंभ करने के लिए सुनिश्चित किया जाता है ios_base::Init
का निर्माण किया है। cerr
ऑब्जेक्ट के निर्माण के बाद , अभिव्यक्ति ( cerr.flags
& unitbuf
) गैर शून्य है, जिसका अर्थ है कि इन स्ट्रीम ऑब्जेक्ट्स को भेजे गए किसी भी आउटपुट को तुरंत ऑपरेटिंग सिस्टम में फ्लश कर दिया जाता है। इसके अलावा cerr.tie()
== &cout
यानी cerr.tie()
रिटर्न &cout
जिसका मतलब है कि cout.flush()
किसी भी आउटपुट ऑपरेशन से पहले निष्पादित किया जाता है।
"C" cerr
"वर्ण" को संदर्भित करता है और 'इर' का अर्थ "त्रुटि" है, इसलिए cerr
"वर्ण त्रुटि" का अर्थ है।
cerr
वस्तु आदेश पात्रों में से एक धारा प्रदर्शित करने के लिए प्रविष्टि ऑपरेटर (<<) के साथ प्रयोग किया जाता है। सामान्य वाक्यविन्यास है:
cerr << varName;
या
cerr << "कुछ स्ट्रिंग";
निष्कर्षण ऑपरेटर का उपयोग चर, तार और जोड़तोड़ (जैसे एंडल) के संयोजन के साथ एक से अधिक बार किया जा सकता है:
cerr << var1 << "कुछ स्ट्रिंग" << var2 << endl;
शुरुआत सी ++ प्रोग्रामर cout
मानक आउटपुट का उपयोग करके त्रुटि को प्रदर्शित करने के लिए अपने कार्यक्रमों को डिबग करते हैं, लेकिन cerr
त्रुटियों को प्रदर्शित करने के लिए उपयोग करना हमेशा अच्छा होता है ।
ऐसा इसलिए है क्योंकि स्क्रीन पर त्रुटि स्ट्रीम दिखाने के बजाय, आप बाद में त्रुटियों को फ़ाइल में लिखने के लिए त्रुटि स्ट्रीम बदल सकते हैं।
उदाहरण: कैसे काम करता है cerr?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; ifstream infile(fileName); if(infile) cout << infile.rdbuf(); else cerr << "Error while opening the file " << fileName <
When you run the program, the output will be: (if the file could not be opened)
Error while opening the file data.txt