想用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
......
求大神指点迷津
1.用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。
2.例程:
按照一列一列的 读取数据,
第一列是纬度,第二列是经度,第三列是...
每一列存储起来
还是没有说清楚,每一列存储起来 存到哪里?
追问可以将每列数据存到一个数组当中。
其实是为了参与计算的,不过那是后面的事情了,这里只想按照列提取出前两列数据,前两列数据是经纬度,想把经纬度网格化。。。
lat 和lon分别是纬度、经度两列数据,首先读取出lat列和lon列的数据,找出经纬度最大和最小的两个点,。。。。。。
非常感谢!
请问,如果行数未知呢?
另外,想找出经纬度最小和最大的点,画出一个矩形可以包围住所有点,然后按照0.5*0.5的大小划分网格,将矩形网格化,标记每一个小网格的位置(以左下方为(0,0)开始),然后判断每一个经纬度点属于哪
一个网格,这样怎样编码呢?
感谢!
如果行数未知呢? 可以采用动态定义数组,但比较麻烦。建议根据文件行数变化情况,定义一个较为合理的数组,这样比较简单。
找出经纬度最小和最大的点:这个可以在读取数据时,就进行数据检查,确定出最大最小点。
最小点是left-bottom,最大点是right-top
画图我解决不了