在C++中读取单个输入行中的整数列表

ylh*_*vis 3 c++ integer

我正在尝试从单个输入行读取多个整数到例如.输入:100 200 300 400,所以数组是:a [0] = 100,a [1] = 200,a [2] = 300,a [3] = 400事实是,整数的数量是未知的,所以数组的大小是未知的.

Ben*_*igt 8

您应该使用自动调整大小的容器,例如std::vector.

例如,像这样:

#include <string>
#include <iostream>
#include <sstream>
#include <utility>
#include <iterator>

std::string line;
getline(instream, line);
std::istringstream this_line(line);
std::istream_iterator<int> begin(this_line), end;
std::vector<int> values(begin, end);
Run Code Online (Sandbox Code Playgroud)


Lih*_*ihO 6

您可以std::vector为此使用:

std::vector<int> myVector;

std::string line;
std::getline(std::cin, line);
std::istringstream os(line);

int i;
while(os >> i)
    myVector.push_back(i);
Run Code Online (Sandbox Code Playgroud)

此代码需要以下包括:<iostream><string><sstream><vector>

  • 请停止`滥用namepsace std;`。这真的是一个非常非常肮脏的习惯,它毁了所有这些新人的思想...... (2认同)