您可能想要先將該行作爲字符串讀取,然後將整數分開,然後將它們推入數組中。
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);' –