C++ - 如何将 space 分隔的数字输入数组?
C++ - How to input space separated numbers into array?
我有这个文件:
4
10 3 4 6
第一行声明了多少个数字,第二行has.I想把第二行的数字放在一个array.So中,到目前为止我一直在使用这个循环来自动声明多少个数字第二行有多少次循环:
#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 中输入数字,而是想将它们放在一个数组中,然后将它们显示为 above.Thanks In Advance!
最好的方法是使用 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] << " ";
}
我有这个文件:
4
10 3 4 6
第一行声明了多少个数字,第二行has.I想把第二行的数字放在一个array.So中,到目前为止我一直在使用这个循环来自动声明多少个数字第二行有多少次循环:
#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 中输入数字,而是想将它们放在一个数组中,然后将它们显示为 above.Thanks In Advance!
最好的方法是使用 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] << " ";
}