मेरे पास एक std :: स्ट्रिंग ऑब्जेक्ट में एक टेक्स्ट है। पाठ में कई रेखाएं हैं। मैं एसटीएल (या बूस्ट) का उपयोग कर लाइन लाइन से टेक्स्ट लाइन पर फिर से शुरू करना चाहता हूं। मेरे साथ आने वाले सभी समाधान सुरुचिपूर्ण से बहुत दूर लगते हैं। मेरा सबसे अच्छा तरीका लाइन ब्रेक पर पाठ को विभाजित करना है। क्या कोई और सुरुचिपूर्ण समाधान है?सी ++: एसटीएल के साथ लाइन द्वारा std :: स्ट्रिंग लाइन में किसी टेक्स्ट पर पुनरावृत्ति कैसे करें?
अद्यतन: यह मैं क्या देख रहा था है:
std::string input;
// get input ...
std::istringstream stream(input);
std::string line;
while (std::getline(stream, line)) {
std::cout << line << std::endl;
}
मैंने सोचा कि मैं पहले से ही यह कोशिश की। मुझे एक कंपाइलर त्रुटि मिली और इसे दूर फेंक दिया। जल्दी करने के लिए!
क्या आप "अधिक सुरुचिपूर्ण" जैसे सी # के foreach "foreach (लाइनों में स्ट्रिंग लाइन)" की तलाश में हैं? आपने वास्तव में क्या प्रयास किया है। यदि आप गतिशील या उच्च स्तर की भाषाओं में उपयोग करते हैं, तो सी ++ 'सुरुचिपूर्ण' महसूस कर सकता है, लेकिन सी ++ "सुरुचिपूर्ण" में आपको कभी सौंपा नहीं जाता है, आपको आमतौर पर खुद को लालित्य कार्यक्रम करना होता है। – Crisfole
यह * सटीक डुप्लिकेट नहीं हो सकता है, लेकिन आप यह भी देखना चाहेंगे: http://stackoverflow.com/questions/1567082/how-do-i-iterate-over-cin-line-by-line -इन-सी –
इसे अपडेट करने के बजाय अपने स्वयं के प्रश्न का उत्तर देना बेहतर होगा। अद्यतन भविष्य के पाठक के लिए भ्रमित हो सकता है ... – Wolf