爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2509|回复: 3

[求助] end=999,什么意思呢?

[复制链接]

新浪微博达人勋

发表于 2015-7-10 19:37:46 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
read(1,*,end=999)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2015-7-10 21:41:13 | 显示全部楼层
这个是很常见的一种写法,读取文件的行数,以及里面的文件。
一般而言,fortran是顺序读取的,读取结束之后到达最底部,这时候想要读取文件就必须重新回到文件的顶端重新来一次。就用到语句 rewind,表示重新从这个文件的第一行开始。
那么,rewind上面的部分就是读取文件行数,即read到此为止,值得读到最后一行,结束循环得到文件行数;然后执行rewind以后的语句。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2015-7-10 19:49:06 | 显示全部楼层
資料1讀取完時,執行999那一行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-7-10 19:55:14 | 显示全部楼层
lone0212 发表于 2015-7-10 19:49
資料1讀取完時,執行999那一行

program data_extraction
implicit none
character *4 nian
integer,parameter::yr1=1951,yr2=2013
integer station,p1,p2,p3,year,num,i,nline,j
open(2,file='E:\SURF_CLI_CHN-WEP-SNOW\datasets\SNOW\YER\SURF_CLI_CHN_YER-SNOWMAX-54401.TXT')
do i=yr1,yr2
write(nian,'(i4)') i
open(1,file='E:\SURF_CLI_CHN-WEP-SNOW\datasets\SNOW\YER\SURF_CLI_CHN_YER-SNOWMAX-'//nian//'.TXT')
nline=0
do while(.true.)
read(1,*,end=999)
nline=nline+1
end do
999 rewind(1)
do j=1,nline
read(1,*) station,p1,p2,p3,year,num
do while(station==54401)
write(2,*) station,p1,p2,p3,year,num
write(*,*) station,p1,p2,p3,year,num
end do
end do
end do
close(1)
close(2)
end
这是完整的,帮忙看看
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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