1

我为 Fortran 程序编写了一个子例程,我想第一次执行命令(删除程序目录中的文件并打开一个新文件),并且仅是第一次调用该子例程。我知道我可以通过在主程序中在子程序之外创建一些标志来实现这一点,我在程序启动时将其设置为 false,然后在进入子程序时设置为 true。然后我可以在 if 语句中使用这个标志来确定我想在初始调用中执行的命令是否应该被执行。但这需要我修改现有程序,如果可以避免的话,我不想这样做。还有其他方法可以做我想做的事吗?

4

2 回答 2

4

一个例子可能是:

subroutine test(a)
  implicit none
  integer, intent(inout) :: a
  logical, save :: first_time=.true.

  if(first_time) then
     first_time=.false.
     a = a + 12345
  else
     a = a - 67890
  end if

end subroutine test
于 2012-10-13T06:46:52.967 回答
1

如何使用输出文件的某些特性来确定是否删除它?时间戳、文件锁定、特定文件扩展名等。

于 2012-10-15T05:14:12.697 回答