Text 用FORTRAN将最后5个接受的结果写入文本文件

Text 用FORTRAN将最后5个接受的结果写入文本文件,text,io,fortran,Text,Io,Fortran,我将用Fortran编写代码,将最后5个可接受的结果保存在文本文件中。我该怎么做?需要注意的是,我需要最后2000个结果,例如,如果我有200个结果,我需要保留最后5个结果并删除第一个结果。这里是一个示例代码 program test implicit none REAL :: r integer :: i open(1000,file='results.txt',status='unknown') do i=1,100000 CALL RANDOM_NUM

我将用Fortran编写代码,将最后5个可接受的结果保存在文本文件中。我该怎么做?需要注意的是,我需要最后2000个结果,例如,如果我有200个结果,我需要保留最后5个结果并删除第一个结果。这里是一个示例代码

program test
implicit none
REAL :: r
integer :: i
     open(1000,file='results.txt',status='unknown')


     do i=1,100000  
     CALL RANDOM_NUMBER(r) 
     print*, r


     if(r .lt. 5E-01 .and. r .gt. 4E-01)then

        write(1000,*) r
      endif
end do
    close(1000)

end program test

不完整/伪代码

start process loop

process...

if (accepted) then
  a(1) = a(2)
  a(2) = a(3)
  a(3) = a(4)
  a(4) = a(5)
  a(5) = new
end if

end process loop

write (*, *) a

在中打开文件,填充look-a-head缓冲区5,读取直到文件结束。在中关闭文件。打开一个文件。刷新您的look-a-head缓冲区5以归档。关闭文件。打开文件进行读取。在中打开文件进行写入。从文件中读出,写入文件。关闭文件。关闭文件。删除文件。结束程序。或
a(1:4)=a(2:5);a(5)=新的
。或者
a=eoshift(a,1,boundary=new)
。我想他是指不断更新文件。在这种情况下,只要在每次点击时重写整个文件即可。