C:从文件中读取某种格式的二维复数数组

标签 c arrays matrix scanf complex-numbers

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]。任何有关如何修改代码的建议将不胜感激!

最佳答案

试试这个

fscanf(fptB, "(%d, %d)%*c", &B[i][j].re, &B[i][j].im);

关于C:从文件中读取某种格式的二维复数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558442/

相关文章:

r - 如何按组绘制加权平均值?

Android:对 View 应用任意变换

python - 将三列文本文件转换为矩阵

c - 中断多线程系统调用

c - 这看起来不像一个函数。这是什么?

javascript - 将两个字符串数组合并为一个对象数组

java - 插入时排序 vs 稍后对整个数组进行排序

c - C 中的内存划分

C错误: expression must have arithmetic or pointer type

c - 我们如何知道用 exec() 启动的程序所需的最小堆栈大小?