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

Reading a file of number into an array while skipping first two values every 1026 entries

本文关键字:两个 1026个 文件 数字 数组      更新时间:2023-10-16

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

1

1025

3000

3572

3579

4023

3593

2930

1

1025

因此,基本上,1和1025是描述我需要忽略的数据集的头值,然后我需要将这些头值之后的每个值读取到数组中,这样我就可以对数组中的值进行计算。我曾想过使用while(!file.eof(((,但我想不出如何让代码在读取100000个条目时跳过这两个数字。我对c++还很陌生,我通常使用GUI来进行数据分析,但我所在的项目需要我使用c++,所以我在这里真的超出了我的舒适区。我很感激能得到的任何帮助。

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

#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;
  }
}