Matrix 将矩阵更新为文本文件而不附加结果

Matrix 将矩阵更新为文本文件而不附加结果,matrix,file-io,fortran,fortran77,Matrix,File Io,Fortran,Fortran77,我的Fortran 77代码大致如下: nMaxRow=100 nMaxStep=100 ! initialization of the matrix if Step=1 do step=1,nMaxStep if (step.eq.1) then do ii=1,nMaxRow do jj=1,nMaxStep A(ii,jj)=0 end do end do end if !now for

我的Fortran 77代码大致如下:

nMaxRow=100
nMaxStep=100
! initialization of the matrix if Step=1
do step=1,nMaxStep

   if (step.eq.1) then
      do ii=1,nMaxRow
         do jj=1,nMaxStep
            A(ii,jj)=0
         end do
      end do
   end if


!now for each step and for each row update the cell of the matrix
   do ii=1,nMaxRow
      A(ii,step)=X(ii)  !X(ii) is a number associated with the specific ow at that specific step
   end do

!Now I want to write the updated matrix at this step into a text file,
!How can I do that????

end do   !close the do step... 
是否可以更新矩阵的值,并在该特定步骤将更新后的矩阵写入文本文件?我的意思是,没有每一步都附加结果

我发现Fortran 90中存在“REPLACE”命令。。。但是我在Fortran 77中找不到类似的东西


一个简单的想法是在编写新文件之前删除该文件。。。但是我不喜欢它,我也不知道怎么做。

如果文件已经打开(从上一篇文章开始),您可以使用

  rewind(unitnumber)
然后再开始写。它将删除文件的原始内容并重新开始。如果您不想返回多条记录,可以使用
backtrace()
,但您可能不想在这里使用它


如果它没有打开,就打开它开始写。除非您以“附加”的方式打开它,否则它将覆盖原始内容。

如果文件已经打开(从上一次写入开始),您可以使用

  rewind(unitnumber)
然后再开始写。它将删除文件的原始内容并重新开始。如果您不想返回多条记录,可以使用
backtrace()
,但您可能不想在这里使用它


如果它没有打开,就打开它开始写。除非您打开它,否则它将覆盖原始内容。

您使用的编译器不支持
STATUS='REPLACE'
?在任何情况下,如果打开
STATUS='UNKNOWN'
@agentp,大多数返回到f77的编译器都会进行替换。我在Fortran 77中没有找到STATUS replace,所以我假设它确实是F90。在我的回答中,我默默地假设编译器会在重新打开时进行替换。替换是f90,我的观点是他很可能没有真正的f77编译器。您使用的编译器不支持
STATUS='replace'
?在任何情况下,如果打开
STATUS='UNKNOWN'
@agentp,大多数返回到f77的编译器都会进行替换。我在Fortran 77中没有找到STATUS replace,所以我假设它确实是F90。在我的回答中,我默默地假设编译器会在重新打开时进行替换。替换是f90,我的观点是他很可能没有真正的f77编译器。