如何从文件中读取长度未知的整数数组?我看不到获取数组大小的方法,所以我尝试了一些临时字符串,但我的代码爆炸了......
有更好的主意吗?
使用std::vector
:
std::ifstream inFile(fileName);
std::vector<int> ints{
std::istream_iterator<int>(inFile),
std::istream_iterator<int>()
};
std::vector
提供动态存储,因此它可以根据需要调整大小以适应它所拥有的内容。我所做的只是利用构造函数,它接受一对迭代器并循环遍历它们,从头到尾,并将值复制到向量中。我正在使用的迭代器将从文件中读取整数,直到无法读取,就像到达文件末尾的情况一样。我还使用统一初始化来避免最麻烦的解析,这是使用这种形式的构造函数时容易犯的错误。