从文本文件中选择数组的元素

时间:2015-12-27 11:43:36

标签: c++ arrays for-loop text

我有一个包含1000行的文本文件,每行包含130个数字。 我想将数字导入数组然后使用它们。 我想打印出每行的前两个数字,我使用了一个循环,它没有像预期的那样工作。 输出应该是

  

1 126

     

2 124

     

3 128

     

4 123

     

//等......

代码是:

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include<cstdlib>
#include <array>

int main()
{
    int l=0, r=0;
    int line[1000][1000];
    std::ifstream in("bragg_events.txt");

    if (!in) {
        std::cout << "Cannot open file.\n";
        return;
    }

    for (l = 0; l < 1000; l++)
    {
         for (r = 0; r < 130; r++)
    {
        in >> line[r][l];

      }
     std::cout << line[0][l] << " " << line[1][l] << "\n";
    }

    in.close();

    return 0;
}

它实际打印出来:

1 126(ok)

20 34(不行)

64 61

38 54

113 130

152 164

你猜错了什么?

2 个答案:

答案 0 :(得分:3)

您的std::cout声明必须在for循环之外。 Line[1][l]的第一个循环中未初始化r。对?

答案 1 :(得分:0)

您可以使用新定义的对象的A来定义具有两个f数据成员的对象,而不是使用数组来存储文件中的值。类似的东西:

int

然后像这样读取文件:

std::vector