C语言中如何读取TXT文件中某一列的数据存放到一个一维数组中?

比如读取图片中第二列到一个数组

你的 3 列 数据文件 读第二列,可用 格式: "%*d %lf %*lf"
程序:
#include<stdio.h>
int main()
{
FILE *fin;
double a[200]; //数组大小要足够
int i,n;
fin=fopen("a.dat","r"); //打开a.dat文件
if (!fin){printf("open error\n"); return 1;}; //打开失败处理
printf("reading ...\n" );
n=0;
while (1){
if ( fscanf(fin,"%*d %lf %*lf",&a[n])==EOF) break; //跳1 int,读1 double, 跳1 double
n++; //数据个数统计
}
fclose(fin); //关闭
for (i=0;i<n;i++) printf("%lf\n",a[i]); //输出读到的数
return 0;
}
每行数据个数 不等 的时候,可以用:
fgets() 一行一行地读 行, 存入 s[2000],用 sscanf() 从s[] 里用格式 "%*d %lf”跳着读。
%*d --跳1个int, %*lf --跳1个double. (非常 复杂的文件结构 可以 用 方括号格式,这里从略)。
温馨提示:答案为网友推荐,仅供参考
相似回答