使用C程序从txt文件中读取坐标

Git*_*tmo 1 c parsing matrix

我想从.txt文件中读取大量点的笛卡尔坐标到矩阵或使用C程序的一些这样的数据结构.

该文件具有该类型的内容

023    435    1.0
23.5   12.5   0.2
: :     : :   : :
: :     : :   : :
Run Code Online (Sandbox Code Playgroud)

等等...

文件中大约有4000个这样的坐标.第一列表示x坐标,第二列y和第三列z坐标.每行代表一个点.我最终想根据坐标做一些计算.我只是在C中有一个初学者的文件处理概念.

有任何想法吗??请尽快回复!

Cha*_* Ma 6

首先,您可能希望使用结构来存储每个点

typedef struct {
   float x;
   float y;
   float z;
} Point;
Run Code Online (Sandbox Code Playgroud)

然后将文件读入一个点数组

  Point *points = malloc(4000 * sizeof *points);
  FILE * fp;
  fp = fopen ("myfile.txt", "r");
  int index = 0;
  while(fscanf(fp, "%f %f %f", &points[index].x, &points[index].y, &points[index].z) == 3)
      index++;
  close(fp);
Run Code Online (Sandbox Code Playgroud)

  • 在堆栈上声明12000个浮点数是非常不明智的. (3认同)