0

私のdata.txtの内容は次のとおりです。

1 2 3 4 5 6
1 2 3 4 5 6
4 5 6 7 8 2

ファイルを読み取り、値を2次元のint配列に格納します

  int record[line_number][6]; 
  int record2[line_number][8];
  int test;

  for(i = 0; i <line_number; i++)
  {
    for(j = 0; j <6; j++)
    {
      fscanf(fptr, "%d", &record[i][j]);
    }
  }
  int a=0;
  int b=0;
  for(a=0; a<i; a++) {
    for(b=0; b<6; b++) {
      printf("%d,", record[a][b]);
    }
    printf("\n");
  }

メモリアドレスのような出力、私のコードの何が問題になっていますか?ありがとう!

4

1 に答える 1

6

の戻り値をチェックしfscanf()ないので、すべての変換で実際に成功するかどうかはわかりません。失敗した場合、inの値はrecord[][]初期化されておらず、出力すると、メモリ内にあるものはすべて出力されます。

于 2012-09-13T08:48:12.133 に答える