2

如何从文件中读取长度未知的整数数组?我看不到获取数组大小的方法,所以我尝试了一些临时字符串,但我的代码爆炸了......

有更好的主意吗?

4

1 回答 1

8

使用std::vector

std::ifstream inFile(fileName);

std::vector<int> ints{
    std::istream_iterator<int>(inFile),
    std::istream_iterator<int>()
};

std::vector提供动态存储,因此它可以根据需要调整大小以适应它所拥有的内容。我所做的只是利用构造函数,它接受一对迭代器并循环遍历它们,从头到尾,并将值复制到向量中。我正在使用的迭代器将从文件中读取整数,直到无法读取,就像到达文件末尾的情况一样。我还使用统一初始化来避免最麻烦的解析,这是使用这种形式的构造函数时容易犯的错误。

于 2013-01-04T17:57:18.230 回答