使用 ifstream 将数字从文本文件读入 std::vector<int>



我有一个read函数,它从文本文件中获取数字并将它们存储到数据结构中。我创建了这个函数。

void VectorIntStorage::read(ifstream &in)
{
    if(in.is_open())
    {
        for (int i = 0; in && i < n; ++ i) 
        {
            in >> vectorStorage<i>;
        }
    }
}

我试图将它们添加到一个向量结构,这是正确的代码吗??

不,不是。规范的方式是:

vector <int> v;
int n;
while( f >> n ) {
    v.push_back( n );
}

不,如果这样编写代码,编译将会失败。也许你可以为vector分配足够的空间,然后存储ifstream读取的日期。

vector<int> v(MAX_SIZE);
int iIndex = 0;
while((iIndex < v.size()) && (in >> v[iIndex]))
{
    ++iIndex;
}

相关内容

  • 没有找到相关文章

最新更新