【问题标题】:using ifstream to read in number from a text file into a std::vector<int>使用 ifstream 将文本文件中的数字读入 std::vector<int>
【发布时间】:2011-04-25 16:06:46
【问题描述】:

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

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

我正在尝试将它们添加到向量结构中,这段代码是否正确?

【问题讨论】:

    标签: file vector ifstream


    【解决方案1】:

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

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

    其中 f 是一个 ifstream。

    【讨论】:

      【解决方案2】:

      不,如果您以这种方式编写代码,编译将失败。 也许您可以为向量分配足够的空间,然后存储 ifstream 读取的日期。

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

      【讨论】:

      • 这太糟糕了......看起来像C,被卡车撞了。严重地。当他们写这篇文章时,这个人的脑袋里发生了什么?
      猜你喜欢
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 2012-11-13
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      相关资源
      最近更新 更多