WRITE声明

时间:2013-12-16 17:55:36

标签: fortran fortran77

我的程序使用一组文件(数百万)。之前使用其他一些代码创建了所有文件。有些文件是空的,有些文件有值;所有人都有'老'的身份。我的程序必须

  1. 打开其中一个文件;
  2. 如果文件已包含数字,则向文件的END添加一些值;如果文件为空,则只添加第一个值;
  3. 关闭文件并转到另一个文件处理。
  4. 现在,如果文件非空,程序将删除文件的先前内容并只写一个新值。我认为,为了将值添加到现有非空文件的末尾,除了'OLD'状态之外,我还需要在OPEN或WRITE语句中使用一些子句。哪个?谢谢。

1 个答案:

答案 0 :(得分:0)

使用MWE会更容易,但是,使用append关键字

,您可以做的就是这样
open(unit=file_unit, file=filename, status='old', access='append')

您可以尝试使用Fortran Wikibook改编的简单示例来了解它的工作原理

program write
  implicit none
  integer            :: i, j
  integer, parameter :: out_unit=10

  print*,"Enter two integers:"
  read (*,*) i, j

  open (unit=out_unit, file="results.txt", action="write", status="old", access="append")
  write (out_unit,*) "The product of",i," and",j
  write (out_unit,*) "is",i*j

  close (out_unit)
end program write