मैं कंसोल से vector<int>
में स्पेस से अलग संख्याओं को पढ़ने का एक आसान काम करने की कोशिश कर रहा हूं, लेकिन मुझे यह ठीक से नहीं करना है।कंसोल से स्पेस से अलग संख्याओं को कैसे पढ़ा जाए?
यह मैं अब तक क्या किया है है:
int n = 0;
vector<int> steps;
while(cin>>n)
{
steps.push_back(n);
}
बहरहाल, यह (जैसे a
के रूप में) में कोई अमान्य वर्ण while
पाश को तोड़ने के लिए दबाने की आवश्यकता है। मुझे यह नहीं चाहिए।
जैसे ही उपयोगकर्ता 0 2 3 4 5
जैसे नंबर दर्ज करता है और Enter
दबाता है, मैं लूप को तोड़ना चाहता हूं। मैंने istream_iterator
और cin.getline
का उपयोग करने का प्रयास किया, लेकिन मैं इसे काम नहीं कर सका।
मुझे नहीं पता कि उपयोगकर्ता कितने तत्व दर्ज करेगा, इसलिए मैं vector
का उपयोग कर रहा हूं।
कृपया ऐसा करने का सही तरीका सुझाएं।
लेकिन उस विधि को स्ट्रीमसाइज़ करने की आवश्यकता है जिसे मैं नहीं जानता। क्या आप नमूना कोड पोस्ट कर सकते हैं? – Asha
ओह्स..ओके, मुझे अब @templatetypedef उदाहरण के साथ मिला है। आप मुफ्त फ़ंक्शन 'geline' का जिक्र कर रहे हैं और' cin.getline' नहीं। – Asha
कोड के साथ संपादित। – jonsca