ファイル読み込み時におけるmallocを利用するには?

解決


DD  2011-08-29 23:21:36  No: 72878

お世話になります。

NUM_DATA=10000000を検討中です。
mallocを10000000行の一次元データを読み込みたいのですが、以下のコードですとセグメンテーションエラーが出てしまいます。
このようなケースのとき、どのようにmallocを使用したらよろしいのでしょうか。
ご教授いただけますと幸いです。

int main{

double *data;
// メモリ確保
data = ( double* )malloc( sizeof(double) * (NUM_DATA) );

 if ((fp = fopen(DATA_FILE, "r")) == NULL) {
    fprintf(stderr, "ファイル[" DATA_FILE "]をオープンできません.\n");
    return 1;
  }

    for (int h = 0; h < NUM_DATA; h++)
    {
      fscanf(fp, "%lf\n", &data[h]);
      
    }

fclose(fp)
}


瀬戸っぷ  2011-08-30 00:03:40  No: 72879

まず、どこでセグメンテーションエラーが出ますか?
malloc()でちゃんと確保できているか確認していますか?


DD  2011-08-30 01:08:47  No: 72880

確保が出来ているか調べます。
ありがとうございました。


DD  2011-08-30 01:09:24  No: 72881

解決です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加