3 回答
TA贡献1795条经验 获得超7个赞
首先使用std::getline函数读取一行,然后使用std::stringstream来从该行读取整数,如下所示:
std::ifstream file("input.txt");
std::vector<std::vector<int>> vv;
std::string line;
while(std::getline(file, line))
{
std::stringstream ss(line);
int i;
std::vector<int> v;
while( ss >> i )
v.push_back(i);
vv.push_back(v);
}
您还可以将循环体编写为:
while(std::getline(file, line))
{
std::stringstream ss(line);
std::istream_iterator<int> begin(ss), end;
std::vector<int> v(begin, end);
vv.push_back(v);
}
这看起来更短,更好。或合并-最后两行:
while(std::getline(file, line))
{
std::stringstream ss(line);
std::istream_iterator<int> begin(ss), end;
vv.push_back(std::vector<int>(begin, end));
}
现在不要将其缩短,因为它看起来很丑。
- 3 回答
- 0 关注
- 1729 浏览
添加回答
举报