您可能想要先将该行作为字符串读取,然后将整数分开,然后将它们推入数组中。
C++ 11(我想?)解决方案:
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <sstream>
int main()
{
std::vector<int> arr;
for (std::string temp; std::getline(std::cin, temp);)
{
std::istringstream iss(temp);
std::copy(std::istream_iterator<int>(iss), std::istream_iterator<int>(), std::back_inserter(arr));
for (const auto & elem : arr)
std::cout << elem << ' ';
std::cout << '\n';
arr.clear();
}
return 0;
}
问题是你现在需要一种方法来阻止infinte循环,但可以用一个简单的条件很容易解决。随你便。
当预计int时,您正在推送字符串。 'istream&getline(istream&is,string&str,char delim);' –