C++ - 如何将空格分隔的数字输入数组

C++ - How to input space separated numbers into array?

本文关键字:分隔 数字输入 数组 空格 C++      更新时间:2023-10-16

>我有这个文件:

4
10 3 4 6

第一行声明第二行有多少个数字。我想把第二行的数字放在一个数组中。到目前为止,我一直在使用此循环来自动声明第二行有多少个数字以及执行循环的次数:

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main(){
    ifstream infile;
    infile.open("input.in");
    string kids;
    int x;
    int i;
    getline(infile,kids);
    cout << "The Number Of Kids Is " << kids << endl;
    istringstream buffer(kids);
    int kidss;
    buffer >> kidss;
    for(i=0;i<kidss;i++){
        infile >> x;
        cout << x << " ";
    }
    infile.close();
    return 0;
}

现在我想做同样的事情,但不是在 x 中输入数字,而是想将它们放在一个数组中,然后像上面一样显示它们。提前感谢!

最好的

方法是使用std::vector这些是 c++ 中的可变长度数组。

在这种情况下使用它们,您将这样做

std::vector<int> array;
for( int i = 0 ; i < kidss ; ++i ) {
    infile >> x;
    array.push_back(x);
}

然后,如果您想再次打印它们,您将能够做到

for( int i = 0 ; i < array.size() ; ++i ) {
    std::cout << array[i] << " ";
}