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 關注
- 1778 瀏覽
添加回答
舉報