找回密码
 注册
Simdroid-非首页
查看: 182|回复: 5

[3. Fortran] 请教fortran文件读取问题:如何用read语句跳行直接读取?

[复制链接]
发表于 2008-5-5 16:47:46 | 显示全部楼层 |阅读模式 来自 北京
各位fortran高手:
对于数据量大文件读取,例如只要读取100001行以后的数据,100001行以前的数据需要跳过,目前我的做法是:
do i=1,100000
read(100,*) !100为数据文件
enddo
对于批量处理,这种方法读取速度较慢。 如果能用read语句跳行,直接从100001行开始读数,那应该快许多。请问各位高手,这种想法能实现吗?
十分感谢!

[ 本帖最后由 ouyangll 于 2008-5-5 17:06 编辑 ]
发表于 2008-5-5 18:37:49 | 显示全部楼层 来自 山东烟台
Simdroid开发平台
用namelist可以实现 Fortran中的namelist真是太好使了 建议查查这个命令 然后学习一下
回复 不支持

使用道具 举报

发表于 2008-6-5 21:17:26 | 显示全部楼层 来自 上海
如果是直接存取文件是可以的,是顺序存储的就不可以。
回复 不支持

使用道具 举报

发表于 2008-6-5 21:18:10 | 显示全部楼层 来自 上海
一般我都是把前10000行delete掉……
回复 不支持

使用道具 举报

发表于 2008-6-7 09:48:08 | 显示全部楼层 来自 江苏南京
可以加一个逻辑判断语句
回复 不支持

使用道具 举报

发表于 2008-6-16 19:31:23 | 显示全部楼层 来自 英国
这的确是个问题,我也遇到过这样的问题,还没有很好的解决,还是采用楼主说的那种办法,浪费很多时间。
如果改成直接读取文件,好像需要定义每行数据长度,这个很难,因为不同题目可能不同的文件长度。
如果删除,那不是办法,这个数据不只是问这一次读取用的,还有别处用到。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 15:23 , Processed in 0.043238 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表