0

一个 2x2 复数矩阵

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

以以下格式存储在 mat.txt 中

  (1, 2) (3, 4)
  (5, 6) (7, 8)

如何将其读入 C 中的矩阵,以便

  B[0][0].re = 1, B[0][0].im = 2 
  B[0][1].re = 3, B[0][1].im = 4
  B[1][0].re = 5, B[1][0].im = 6 
  B[1][1].re = 7, B[1][1].im = 8

?

我有

  fptB = fopen("mat.txt","r");
  for(i=0; i <2; i++){
    for (j=0; j<2; j++){
      fscanf(fptB, "(%d, %d)", &B[i][j].re, &B[i][j].im);
    }
  }
  fclose(fptB);

但这只读取 B[0][0]。任何有关如何修改代码的建议将不胜感激!

4

1 回答 1

0

尝试这个

fscanf(fptB, "(%d, %d)%*c", &B[i][j].re, &B[i][j].im);
于 2013-07-09T21:55:17.283 回答