fscanf在读取文件时正在复制数字

问题描述 投票:0回答:1

我正在尝试从文件中读取数字并将其放入2d数组中,但是每行的第一个数字被放在前一行的最后一个数字的位置。

输出应该看起来像这样:

11  14  12  07  1   8.7
11  14  11  58  143 8.6
11  14  13  03  163 8.9
11  13  18  06  1   7.3

但是反而像这样出来:

11  14  12  07  1   11
11  14  11  58  143 11
11  14  13  03  163 11
11  13  18  06  1   7.3

这是将值放入数组的循环:

    double all_data[entry_counter-1][5];
    int col_counter = 0;
    int row_counter = 0;

    for(int i=0; i<=entry_counter/6-1; i++) {
        col_counter = 0;
        for (int j = 0; j <= 5; j++) {
            fscanf(input_file, "%lf\n", &v);

            all_data[row_counter][col_counter] = v;
            col_counter++;
        }
        row_counter++;
    }
c arrays sorting scanf
1个回答
0
投票

您的代码过于复杂和错误。

这应该完成工作:

double all_data[entry_counter-1][5];

for(int col_counter = 0; col_counter < entry_counter - 1; col_counter++) {
    for (int row_counter = 0; row_counter < 5; row_counter++) {
        fscanf(input_file, "%lf\n", &all_data[row_counter][col_counter]);
    }
}

保持简单。

© www.soinside.com 2019 - 2024. All rights reserved.