【发布时间】:2015-01-26 14:47:42
【问题描述】:
我有一个 .dat 文件,其中包含 6 列 N 个数字,如下所示:
-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("Error\n");
return 1;
}
return 0;
}
有谁知道我应该怎么做才能实现我的目标?
【问题讨论】:
-
去了解 fscanf
-
用
fgets()读一行,然后用sscanf("%lf%lf%lf%lf%lf%lf"...) -
谷歌“从文件 c 读取数据”
-
或者
fgets、strtok和strtod。
标签: c extract extraction text-extraction