我有一个读取函数,它从文本文件中获取数字并将它们存储到数据结构中。我已经完成了这个功能。
void VectorIntStorage::read(ifstream &in)
{
if(in.is_open())
{
for (int i = 0; in && i < n; ++ i)
{
in >> vectorStorage<i>;
}
}
}
我正在尝试将它们添加到矢量结构中,这段代码是否正确?
答案 0 :(得分:2)
不,不是。规范的方式是:
vector <int> v;
int n;
while( f >> n ) {
v.push_back( n );
}
其中f是ifstream。
答案 1 :(得分:0)
不,如果以这种方式编写代码,编译将失败。 也许你可以为矢量分配足够的空间,然后存储ifstream读取的日期。
vector<int> v(MAX_SIZE);
int iIndex = 0;
while((iIndex < v.size()) && (in >> v[iIndex]))
{
++iIndex;
}