Getting fortran runtime error: end of the file
Getting fortran runtime error: end of the file
我正在尝试使用以下代码读取文件,但它给出了文件结尾错误
real u,v,rs,rd
open (10,file='AD02.txt',status='old')
open(12,file='AD02_1.txt',status='unknown')
pi=atan(1.0e00)*4.0
rad=pi/180.0
100 read(10,*,end=98)u,v
rs=sqrt((u*u)+(v*v))
if (v.eq.0.) then
if (u.gt.0)then
rd = 90
else
rd=270
endif
go to 101
end if
rd=(atan(u/v))/rad
if((u.ge.0.).and.(v.lt.0.))
+ rd=rd+180.
if((u.lt.0.).and.(v.lt.0.))
+ rd=rd+180.
if((u.lt.0.).and.(v.ge.0.))
+ rd=rd+360.
if((u.eq.0.).and.(v.eq.0.))
+ rd=0.
101 rd=rd+180.0
if(rd.ge.360.0) rd=rd-360.0
c write(12,*)rs,rd
write(12,*)u,v,rs,rd
goto 100
98 close(10)
99 close(11)
stop
end
给出文件结尾错误
样本输入:
1/1/2017 20:00 -2 -2.7 3.360059523 36.45608472
1/1/2017 21:00 -1.71 -2.74 3.229814236 31.89269113
1/1/2017 22:00 -1.04 -3.48 3.632079294 16.5559465
1/1/2017 23:00 -0.67 -4.09 4.144514447 9.216650926
1/2/2017 0:00 -0.73 -4.51 4.568697845 9.107662714
1/2/2017 2:00 -1.04 -5.35 5.450146787 10.91495543
最多 n 个值
请帮我解决这个问题
正如@albert 所说,日期是问题所在。您的 READ 不仅假装日期(和时间)不存在,而且列表定向输入中的斜线会终止读取。您想使用明确的格式 - 以下作品:
100 read (10,'(T18,2F8.2)',end=98) u,v
我还要指出,您不应在固定格式的源代码中进行编码,如果您这样做并在此处粘贴代码,则必须注意列位置。我必须对您的代码进行大量编辑才能编译。
我正在尝试使用以下代码读取文件,但它给出了文件结尾错误
real u,v,rs,rd
open (10,file='AD02.txt',status='old')
open(12,file='AD02_1.txt',status='unknown')
pi=atan(1.0e00)*4.0
rad=pi/180.0
100 read(10,*,end=98)u,v
rs=sqrt((u*u)+(v*v))
if (v.eq.0.) then
if (u.gt.0)then
rd = 90
else
rd=270
endif
go to 101
end if
rd=(atan(u/v))/rad
if((u.ge.0.).and.(v.lt.0.))
+ rd=rd+180.
if((u.lt.0.).and.(v.lt.0.))
+ rd=rd+180.
if((u.lt.0.).and.(v.ge.0.))
+ rd=rd+360.
if((u.eq.0.).and.(v.eq.0.))
+ rd=0.
101 rd=rd+180.0
if(rd.ge.360.0) rd=rd-360.0
c write(12,*)rs,rd
write(12,*)u,v,rs,rd
goto 100
98 close(10)
99 close(11)
stop
end
给出文件结尾错误
样本输入:
1/1/2017 20:00 -2 -2.7 3.360059523 36.45608472
1/1/2017 21:00 -1.71 -2.74 3.229814236 31.89269113
1/1/2017 22:00 -1.04 -3.48 3.632079294 16.5559465
1/1/2017 23:00 -0.67 -4.09 4.144514447 9.216650926
1/2/2017 0:00 -0.73 -4.51 4.568697845 9.107662714
1/2/2017 2:00 -1.04 -5.35 5.450146787 10.91495543
最多 n 个值
请帮我解决这个问题
正如@albert 所说,日期是问题所在。您的 READ 不仅假装日期(和时间)不存在,而且列表定向输入中的斜线会终止读取。您想使用明确的格式 - 以下作品:
100 read (10,'(T18,2F8.2)',end=98) u,v
我还要指出,您不应在固定格式的源代码中进行编码,如果您这样做并在此处粘贴代码,则必须注意列位置。我必须对您的代码进行大量编辑才能编译。