我有一个文件是这样的:
98
287 2352
987 4313 3253
235 34325 432 123
基本上我想重现这个文件。我正在尝试一次导入一行,提取数字并将它们推入向量中。每个向量都被推入一个更大的向量中。
int main(int argc, char* argv[])
{
int sum = 0, one = 0, two = 1;
std::string line, number;
std::vector<int> vec;
std::vector<std::vector<int>> bigvec;
auto k = vec.begin();
std::ifstream in(argv[1]);
while(in >> line) {
std::istringstream is(line);
while(is >> number) {
vec.push_back(stoi(number));
}
bigvec.push_back(vec);
while(!vec.empty()) {
vec.pop_back();
}
std::cout << std::endl;
}
return 0;
}
但是,当我打印结果时,我的代码似乎将每个数字放在它自己的向量中,而不是复制文件。
所以我的输出是
98
287
2352
etc.
好像这条线
while(is >> number) {
vec.push_back(stoi(number));
}
压入一个数字,然后退出循环。
我哪里错了?