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 に答える