c++ - How to clear stringstream? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 8 जवाब
  stringstream पार्सर; पार्स्टर & lt; & lt; 5; छोटी शीर्ष = 0; पार्सर & gt; & gt; शीर्ष; parser.str ( ""); // यहां मैं रीसेट पेसर्स पार्स्टर & lt; & lt; 6; // पार्सर्स में कम 6 = 0; पार्सर & gt; & gt; तल;  

यह काम क्यों नहीं करता?

आमतौर पर ' रीसेट 'एक स्ट्रिंगस्ट्रीम आपको दोनों को str के साथ रिक्त स्ट्रिंग में अंतर्निहित अनुक्रम को रीसेट करने और clear के साथ किसी भी असफल और ईफ फ़्लैग को साफ़ करने की आवश्यकता है।

  पार्सर। Str (std :: string ()); parser.clear ();  

आमतौर पर जो होता है वह है कि पहला & gt; & gt; स्ट्रिंग के अंत तक पहुंच जाता है और एओपी बिट सेट करता है, यद्यपि यह सफलतापूर्वक पहले लघु को पार्स करता है इसके बाद स्ट्रीम पर संचालन विफल हो जाता है क्योंकि स्ट्रीम का एफ़ बिट अभी भी सेट है।


Comments