का उपयोग कर लूप में स्ट्रीम से सुरक्षित पढ़ने के लिए मैं लूप के अंदर std::getline
का उपयोग करके स्ट्रीम से पढ़ना चाहता हूं।गेटलाइन
धारा मेरा मतलब है std::basic_iostream
से विरासत में प्राप्त एक वर्ग है।
std::string line; for(;;){ try{ std::getline(myStreamObj, line); if(line != ""){ std::cout << line << std::endl; } } catch(std::ios_base::failure& ex){ std::cout << ex.what() << std::endl; } }
मैं भी चाहता हूँ
eofbit failbit badbit
जैसे अन्य त्रुटि की स्थिति के खिलाफ जांच करने के लिए लेकिन मैं थोड़ा इसके बारे में उलझन में हूँ।
यदि इन स्थितियों में से कुछ स्थितियों की सेटिंग std::ios_base::failure
जैसी किसी भी अपवाद को फेंक दिया गया है? इन 3 मामलों को कैसे संभालें? क्या मुझे अन्य तरीकों से जांच करनी है?
धन्यवाद AFG
आपके उत्तर के लिए धन्यवाद! मुझे इस स्थिति के बारे में पता नहीं था इसलिए यह उपयोगी आता है। क्या मैं आपको एक और छोटी जानकारी पूछ सकता हूं। यहां अपवाद क्यों अच्छी पसंद नहीं हैं? –
@Abruzzo कई कारणों से - धीमे, आसानी से बहाली का समर्थन न करें, त्रुटियों को संभालने के लिए और कोड लिखने की आवश्यकता है। और आपके कोड को पढ़ने वाले अधिकांश लोग इस क्षेत्र में अपवाद * नहीं * की अपेक्षा करेंगे, इसलिए उन्हें समझने के लिए कोड कठिन लगेगा। –