将数字文件读入数组,同时每1026个条目跳过前两个值

时间:2015-07-02 21:51:20

标签: c++ arrays ifstream

我正在尝试读取一个数字的文本文件,其中开头有2个值我不关心,其次是我关心的1024个值。该文件有大约100000个条目,我需要在每1024个条目上进行计算。格式类似于

1

1025

3000

3572

3579

4023

3593

2930

1

1025

所以基本上1和1025是描述我需要忽略的数据集的标题值,然后我需要将这些标题值之后的每个值读入数组,这样我就可以对数组中的值运行计算。我正在考虑使用while(!file.eof())但我想不出如何让代码在读取100000个条目时跳过这两个数字。我对c ++很陌生,我通常使用GUI来进行数据分析,但是我正在进行一个项目,要求我使用C ++,所以我真的不在我的舒适区。我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到。我能想到的最直接的例子是:

#include <iostream>
#include <string>

int main()
{
  int i = 0;
  std::string s;
  while( std::cin >> s )
  {
    if( i++ < 2 ) continue;
    std::cout << s;
    if( i == 1024 ) i = 0;
  }
}