Я пытаюсь прочитать данные из файла .txt, в котором форматирование выглядит так:
1.671346 4.064608 -3.861660
2.891781 -3.505203 0.733207
-2.033906 -3.854335 -2.194739
1.726585 -4.220862 3.629719
Каждая из N строк содержит координаты x, y, z частицы и Iнамереваемся хранить их в массиве N * 3.
Однако, когда я пытаюсь прочитать мои данные, мой массив координат заполняется нулями.
Вот код:
#include<stdio.h>
#include<stdlib.h>
void leggiFile(FILE *fp, int nrighe, double c[]){
int i;
for(i=0;i<nrighe;i=i+3){
fscanf(fp, "%lf %lf %lf", &c[i], &c[i+1], &c[i+2]);
printf("%lf",c[i]);
}
}
int main(){
FILE* fp=fopen("CoordinateMC.txt","r");
double coord[1500]={0};
int nrighe=500;
leggiFile(fp, nrighe, coord);
}
Он печатает только 0.00000
Я попытался переключить все "% lf" на "% f" и переключить все "& c [stuff]" в "c [stuff]"
Я подозреваю, что это не работает из-за чего-то в моей IDE (code :: blocks), которое я не установил должным образом.Но программа, которую я запустил для создания файла .txt, работала как чудо!