1230431 发表于 2015-3-21 22:46:11

有什么好方法读取下面的这类文件,谢谢!

我有这样一个文件,要把里面的三列数据读到三个数组中,有什么好方法推荐吗?谢谢!


Z      V   q
36    4330   0
36.54800   22.5
37    5310   55
37.55860   105
38    6450   173.9
38.57080   267.2
39    7760   378.3
39.58540   501.9
40    9420   638.9
40.510250786.1

fcode 发表于 2015-3-21 22:48:37

这不 so easy 吗?稍微学一点文件操作都会。

1230431 发表于 2015-3-21 23:02:53

fcode 发表于 2015-3-21 22:48
这不 so easy 吗?稍微学一点文件操作都会。

我是想看看有没有其它的方法,及众家之所长嘛,每个人都会有自己的想法的,这是个交流学习的过程

我以前用的都是派生定义一个文件头然后读取文件的

fcode 发表于 2015-3-21 23:04:34

最简单的方法,就是最高效的方法,也是最好的方法。

1230431 发表于 2015-3-21 23:12:12

fcode 发表于 2015-3-21 23:04
最简单的方法,就是最高效的方法,也是最好的方法。

问题是我怎么知道自己现在用的方法就是最简单的呢:'(:'(

百事可乐 发表于 2015-3-21 23:13:04

那你把你的代码拿出来,别人才好给你提意见啊。

1230431 发表于 2015-3-21 23:25:09

好吧,由于我的表达问题,可能很多人都误解我的意思,我是想请教方法,跟我的不一样的方法,而不是想改进原来的想法。还是谢谢各位愿意花时间来看我的帖子,谢谢!!

fcode 发表于 2015-3-21 23:26:19

你都不把自己的代码拿出来,别人怎知道与你的不一样?

百事可乐 发表于 2015-3-22 12:41:55

很自然,很纯朴,也是最简单高效的方法:

Integer , parameter :: N = 10
real :: a(N) , b(N) , c(N)
open( 12 , file = '文件名' )
read(12,*)
do i = 1 , N
read( 12 , * ) a(i) , b(i) , c(i)
end do

likm1110 发表于 2015-3-24 10:20:11

百事可乐 发表于 2015-3-22 12:41
很自然,很纯朴,也是最简单高效的方法:

Integer , parameter :: N = 10


前面要先跳一行吗?第一行的字母好像不会自动跳过去,还是编译器的问题阿
页: [1] 2
查看完整版本: 有什么好方法读取下面的这类文件,谢谢!