从标准输入和输入值中读取整数到向量

Reading integers from standard input and inputting values into a vector

本文关键字:读取 整数 向量 标准输入 输入      更新时间:2023-10-16

我只想读取标准输入的第一行,然后将值放入向量(未知数的条目)中。每个向量元素都保持一个值(即vector[1]=1vector[2]=-30 ...)

,例如

1 -30 10 300

我尝试过仅使用一段时间循环和cin,但是我似乎无法在终止字符/n停止。而且我一直在尝试使用getline实施此功能,但是我没有运气。是否有一个很好的方法将整数从标准输入存储到向量?

中?

任何帮助都将不胜感激,先感谢您。:)

std::string line;
if( std::getline(std::cin, line) ) {
  std::istringstream ss(line);
  int i;
  while(ss >> i) {
    vec.push_back(i);
  }
}

作为替代方案,您也可以在ss上使用ISTream迭代器。

以下代码可用于您的问题。Mohit的答案应使用Getline不阅读

    vector <int> vec;
string input;
getline(cin,input);
istringstream ss(input);
int num;
while (ss >> num)
{
    vec.push_back(num);
}
vector<int>::iterator itr = vec.begin();
while (itr != vec.end())
{
    cout << *itr << endl;
    itr++;
}

摘要打印回标准输出。

为什么您不能停止使用cin是否忽略了白空间和线路结束n