c言語のfcloseにて、突然エラーが発生するようになってしまい困っております。
エラーが起こっている部分はcsvファイルを読み込む関数です
101行以下の、縦に1列ごとに並んだ数字のデータが入ったcsvファイルを読み込み、
引数で渡された配列に代入するという関数です。
c
1void read_csv(double *list, char *fname){ 2 FILE *fp; 3 double f; 4 int count = 0; 5 fp = fopen(fname, "r"); 6 if(fp == NULL) { 7 printf("%s file not open!\n", fname); 8 //return -1; 9 } 10 while(fscanf(fp, "%lf", &f) != EOF) { 11 list[count] = f; 12 count ++; 13 if(count == 101) break; 14 } 15 fclose(fp); // ファイルを閉じる 16}
この関数を実行すると、fclose部分にて、
free(): invalid pointer 中止 (コアダンプ)
というエラーが発生するようになってしまいました。
今まで問題なく正常に動いていたのですが、ある時からこのエラーが出るようになってしまいました。
csvファイルの名前や中身は変えておりません。
理由、解決策がわかる方がいらっしゃればご教授いただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー