gpt4 book ai didi

c++ - 从 fstream 输入整数到 2d vector< vector> C++

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:16 25 4
gpt4 key购买 nike

我正在尝试使用 push_back 将整数从 ifstream 动态添加到二维 vector 。基本上输入将类似于:

3
20 3
30 4
40 5
3
50 6
60 7
70 8

我想自己读取整数(3,3 ..等),然后创建数字对的二维 vector (整数本身描述了将有多少对)。现在我正在使用 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);
}

关于c++ - 从 fstream 输入整数到 2d vector< vector<int>> C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com