проблема для чтения файла таблицы и сохранения его в массиве - PullRequest
0 голосов
/ 16 ноября 2018

Я хочу прочитать и сохранить в массиве a файл с n строками и m столбцами:

8.315287e-07     1.422122e-28    9.128814e-32    8.693229e-28    
1.015631e-06     1.422121e-28    9.128802e-32    8.693270e-28   
1.240495e-06     1.422119e-28    9.128784e-32    8.693241e-28   

Я написал следующий код:

FILE* file = NULL;
double intensity[46][7] = {{0}};
int score[2][3];
int kloop = 0;
double sum=0;
file = fopen("intensity", "r");
// if (file = NULL) printf("file = NULL");
for (kloop = 0 ;kloop < 47;kloop ++){
    if (fichier != NULL)
    {
        fscanf(file, "%d %d ...", &intensity[i][0],&intensity[i][1]...;
        printf("%e %e \n",intensity[i][0], intensity[i][1]...]);
    }
}
fclose(file);

Кажется, что код не может прочитать (или напечатать) правильные числа, потому что я получаю это:

4.424023e-315 1.426064e-315 9.885327e-316 1.536630e-315 1.269882e-315  
4.437332e-315 1.426064e-315 9.885326e-316 1.536631e-315 1.269882e-315  
4.447104e-315 1.426064e-315 9.885325e-316 1.536630e-315 1.269882e-315 

Затем я получаю сообщение об ошибке «ошибка сегментации», когда я раскомментирую строку 7. Он работает с простым файлом, который содержит целые числа:

1   2   3

4   5   7 

Есть идеи, в чем проблема?

1 Ответ

0 голосов
/ 16 ноября 2018

В: if (file = NULL) Вы должны поставить if (file == NULL)

Поскольку вы хотите получить результат сравнения (равный), но вместо этого вы присваиваете значение NULL переменной.

...