写入文件,保留更改并附加到它们

时间:2016-10-11 17:25:20

标签: fortran fortran90 gfortran

我有一个程序为矩阵u创建值,并且每次迭代f都会更改,我想为每次迭代{{1}写出u(2,2)的值}}。例如,fu(2,2)=5 f=1等等。

现在u(2,2)=9 f=2只写最后一个值。当它符合我的标准时停止do循环。我不希望我的子程序每次都覆盖文件plot.txt,我希望它为每次迭代保留test(u,n,f)。我希望它看起来像这样

u(2,2)

但不是只写

5  1

9  2

10 3

如何解决这个问题?

15 25

为“{1}}

创建不同值的”程序“
subroutine test(u,n,f)

!input
integer :: n,f,write_unit
real(8) :: u(n+2,n+2)

!lokale
integer :: i,j
real(8) :: vek_x,vek_y


!Skriver vektor verdier til fil som gnuplot skal bruke
open(newunit=write_unit,access='sequential',file='plot.txt',status='unknown')

write(write_unit,*)'# x y vx vy'



vek_x=u(2,2)


!write(write_unit,*) vek_x,f

write(write_unit,*) vek_x,f
write(write_unit,*)''


close(write_unit,status='keep')

1 个答案:

答案 0 :(得分:0)

只需打开文件即可附加

open(newunit=write_unit,access='sequential',file='plot.txt',position='append',status='old',action='write')

如果那就是你想要的。

第一次可能想要将其创建为空

open(newunit=write_unit,access='sequential',file='plot.txt',status='replace')
close(write_unit)