![](/img/trans.png)
[英]how to read input properly into a 2D vector, vector<vector<int>> in c++
[英]Input integers from fstream to 2d vector< vector<int> > C++
我正在尝试使用push_back将ifstream中的整数动态添加到2d向量中。 基本上,输入的输入方式类似于:
3
20 3
30 4
40 5
3
50 6
60 7
70 8
我想自己读取int的值(3,3 ..etc),然后创建数字对的2d向量(int值本身描述将会有多少对)。 现在,我正在使用getline()并将数字存储在char中,然后再次将其转换为int的数字,但是我觉得这可能并不理想。 如果有人有任何想法,我将不胜感激。
像(未经测试的):
std::istream_iterator<int> eos;
std::vector<std::vector<int>> matrix;
while(std::getline(str, line))
{
std::istringstream istr(line);
std::istream_iterator<int> iin(istr);
std::vector<int> columns;
std::back_insert_iterator<vector<int>> back_it(columns);
std::copy(iin, eos, back_it);
matrix.push_back(columns);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.