fscanf使用c读取文件

时间:2012-09-13 08:44:32

标签: c

我的data.txt内容是:

1 2 3 4 5 6
1 2 3 4 5 6
4 5 6 7 8 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");
  }

输出就像一个内存地址,我的代码有什么问题?谢谢!

1 个答案:

答案 0 :(得分:6)

您不检查fscanf()的返回值,因此您不知道它对所有转换确实成功。如果失败,record[][]中的值将被取消初始化,打印出来将打印出内存中发生的任何内容。