输入多行不定数量数字使用while(cin>>/* ? */)语句方法是不太方便的,一旦输入Ctrl-Z之后便结束输入,只能成功输入一组信息而不能继续输入之后的组。
在网上搜索了好多不同方法,下面找到了比较有效的方法。(经过改良,存在vector中(网上也有方法存在数组中的))
以下提供在 main 中和 header 中的处理方法:
在main中
以C++ Primer Exercise 3.36(b)(即比较vector)为例:
#include <iostream>
#include <vector>
#include <string>
#include <sstream> // std::istringstream
using namespace std;
int main()
{
vector<int> vint1, vint2;
string num1, num2;
cout << " First vector:";
getline(cin, num1);
istringstream is1(num1);
int i;
while (is1 >> i)
vint1.push_back(i);
cout <<