Скопируйте двойные данные из текстового файла в массив в C - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть текстовый файл с 257 точками наподобие этого

3.78135
2.84681
2.81403
2.54225
3.10854
  ...

, и я хотел бы прочитать эти данные и скопировать их в массив.С помощью аналогичного ответа на вопрос я написал это:

#include<stdio.h>
#include<stdlib.h>

int max_read = 258;
double phi[max_read];
FILE *stream;
stream = fopen("namefile.txt", "r");

if (stream == NULL) {
  print ("! Cannot open file %sn", "namefile.txt\n"); 
  exit(1);
} else{
  int m = 0;
  while(m<max_read) {
    phi[m] = // But I still don't know how write the correct value into the array. 
    m++;
  }
}

Я также хотел бы выполнить эту процедуру чтения-копирования до конца файла.

1 Ответ

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

Это должно сработать, я думаю.

if (stream == NULL) {
    fprint("! Cannot open file %sn", "namefile.txt\n");
    exit(1);
} else{
    int m = 0;
    while (fscanf(stream, "%lf\n", &phi[m])){
        m++;
    }
}
...