从文件中读取未知长度的int数组

use*_*218 2 c++ arrays file

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

任何更好的想法?

chr*_*ris 8

用途std::vector:

std::ifstream inFile(fileName);

std::vector<int> ints{
    std::istream_iterator<int>(inFile),
    std::istream_iterator<int>()
};
Run Code Online (Sandbox Code Playgroud)

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

  • 这遭受了最令人烦恼的解析.`in`是一个函数声明. (4认同)