c/c++语言开发共享如何从C中的文件中提取数据

我有一个包含6列N个数字的.dat文件,如下所示:

-4.997740e-01 -1.164187e+00 3.838383e-01 6.395961e+01 -1.938013e+02 -4.310365e-02 -1.822405e+00 4.470735e-01 -2.691410e-01 -8.528020e+01 -1.358874e+02 -7.072167e-01 9.932887e-01 -2.157249e+00 -2.303825e+00 -5.508925e+01 -3.548236e+02 1.250405e+00 -1.871123e+00 1.505421e-01 -6.550555e-01 -3.254452e+02 -5.501001e+01 8.776851e-01 1.370605e+00 -1.028076e+00 -1.137059e+00 6.096598e+01 -4.472264e+02 -1.268752e+00 ............ ............ ............ ............ ........... ........... 

我想用C语言编写代码,我从file.dat中提取数据,并将每列的编号分配给一个向量; 例如:

 V1=[-4.997740e-01;-1.822405e+00;9.932887e-01;-1.871123e+00;1.370605e+00]; 

所有6列都是如此。

到目前为止,我唯一知道的是我需要从做这样的事情开始:

 int main(){ FILE *fp; fp=fopen("file.dat","r"); if (!fp){ printf("Errorn"); return 1; } return 0; } 

有谁知道我应该做什么才能实现我的目标?

    试试这个

     #include  #include  #include  #define MAX_ROW 256 int main() { FILE *file; float data[MAX_ROW][6]; int index; float *row; file = fopen("file.dat", "r"); if (file == NULL) { perror("fopen()"); return 1; } index = 0; row = data[0]; while (fscanf(file, "%f%f%f%f%f%f", &row[0], &row[1], &row[2], &row[3], &row[4], &row[5]) == 6) { printf("[%f;%f;%f;%f;%f;%f]n", row[0], row[1], row[2], row[3], row[4], row[5]); row = data[index++]; } fclose(file); return 0; } 

    请注意,您可能需要动态分配data才能resize。

      以上就是c/c++开发分享如何从C中的文件中提取数据相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/560734.html

      (0)
      上一篇 2021年1月28日
      下一篇 2021年1月28日

      精彩推荐