用linux下的c语言读取txt文件中的列数据
想用c编写一个小程序,从.txt文件中按列读取数据,.txt数据格式是这样子(数据非常大,只列出了前几行):latlonstrdiprakstrdiprak19.0912...
想用c编写一个小程序,从.txt文件中按列读取数据,
.txt数据格式是这样子(数据非常大,只列出了前几行):
lat lon str dip rak str dip rak
19.09 120.24 77 47 -62 219 50 -117
-44.65 -15.46 316 44 -105 157 48 -76
-44.46 -82.03 335 46 -113 186 49 -68
-35.30 -179.01 190 36 -84 3 54 -94
-13.86 167.25 181 47 114 328 48 67
27.15 54.45 329 54 141 85 59 43
35.26 140.51 252 28 111 49 64 79
19.16 120.22 36 38 -76 199 53 -101
......
求大神指点迷津 展开
.txt数据格式是这样子(数据非常大,只列出了前几行):
lat lon str dip rak str dip rak
19.09 120.24 77 47 -62 219 50 -117
-44.65 -15.46 316 44 -105 157 48 -76
-44.46 -82.03 335 46 -113 186 49 -68
-35.30 -179.01 190 36 -84 3 54 -94
-13.86 167.25 181 47 114 328 48 67
27.15 54.45 329 54 141 85 59 43
35.26 140.51 252 28 111 49 64 79
19.16 120.22 36 38 -76 199 53 -101
......
求大神指点迷津 展开
2个回答
展开全部
1.用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。
2.例程:
#include<stdio.h>
#include<string.h>
void main()
{
char a[100],b[100],c[100];
int i=3,j=4,k=0; //第三行,第四列
FILE *fp = fopen("data.txt","r");
while(fgets(c,100,fp)){ //读入每行数据
i--;
if(i==0) strcpy(a,c); //读到第三行数据
b[k++]=c[j-1]; //把每行的那列字符拷到b中
}
b[k]=0;
printf("第%d行数据:%s\n",i,a);
printf("第%d列数据:%s\n",j,b);
fclose(fp);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询