Следният код се изпълнява и съхранява входни данни във вектора, както би трябвало, но зацикля безкрайно, слушайки входни данни. Целта е да се вземе низ от ints
от един входен ред, разделен с интервали, и да се съхрани във вектор.
int main(int argc, char ** argv){
int input;
vector<int> intVector;
while (cin >> input)
intVector.push_back(input);
//print vector contents
copy(intVector.begin(), intVector.end(), ostream_iterator<char>(cout, " ")); cout << "\n";
return 0;
}
Искам по някакъв начин да добавя просто, допълнително условие в цикъла while, което проверява за края на реда, така че да не продължава да слуша безкрайно. cin.oef
не е от полза тук. Опитах това и няколко други неща вече.
Има ли нещо чисто, кратко и елегантно, което мога да добавя, за да поправя това?
getline
вместо>>
? - person user3553031   schedule 05.07.2014