Fortran end of file during read
里面filename都是在前面定义好的总是出现end-of-fileduringreadopen(3,file=filename11)open(4,file=filena...
里面filename都是在前面定义好的 总是出现end-of-file during read
open(3,file=filename11)
open(4,file=filename2)
read(4,*)(e(k),k=1,12)
read(4,*)(((s(i,j,k),i=1,nx),j=1,ny),k=1,nz)
do k=l,l
do j=272,277
do i=43,50
if (s(i,j,k)>=he1) then
write(3,*)s(i,j,k)
end if
end do
end do
end do
do k=l,l
do j=264,271
do i=37,50
if (s(i,j,k)>=he1) then
write(3,*)s(i,j,k)
end if
end do
end do
end do
do k=l,l
do j=272,277
do i=37,42
write(3,*)s(i,j,k)
end do
end do
end do
close(3)
open(3,file=filename11)
read(3,*)j
allocate(x1(j))
do i=1,j
read(3,*)x1(i)
end do
mean1=sum(x1)/j
write(1,"('200806230534时刻的空间平均为 ',f8.5)") mean1 展开
open(3,file=filename11)
open(4,file=filename2)
read(4,*)(e(k),k=1,12)
read(4,*)(((s(i,j,k),i=1,nx),j=1,ny),k=1,nz)
do k=l,l
do j=272,277
do i=43,50
if (s(i,j,k)>=he1) then
write(3,*)s(i,j,k)
end if
end do
end do
end do
do k=l,l
do j=264,271
do i=37,50
if (s(i,j,k)>=he1) then
write(3,*)s(i,j,k)
end if
end do
end do
end do
do k=l,l
do j=272,277
do i=37,42
write(3,*)s(i,j,k)
end do
end do
end do
close(3)
open(3,file=filename11)
read(3,*)j
allocate(x1(j))
do i=1,j
read(3,*)x1(i)
end do
mean1=sum(x1)/j
write(1,"('200806230534时刻的空间平均为 ',f8.5)") mean1 展开
展开全部
这个楼主基础不牢啊,在open文件之后,需要用rewind将文件指针复位到文件开头
例如open(3,file=filename11)
那么应该写成open(3,file=filename11)
rewind(3)
就可以了
例如open(3,file=filename11)
那么应该写成open(3,file=filename11)
rewind(3)
就可以了
更多追问追答
追问
饿 呵呵 谢谢 不过也可以用end=50
50 continue 吧
追答
你这个用法我不知道,我自己写程序的时候都是用rewind,特别是并行程序,不用rewind,基本上都会报错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询