我为Fortran程序编写了一个子程序,我想执行一个命令(在程序目录中删除文件并打开一个新程序),第一次,也是第一次调用子程序。我知道我可以通过在主程序中创建子程序之外的一些标志来实现这一点,我在程序启动时将其设置为false,然后在进入子程序时设置为true。然后,我可以在if语句中使用此标志来确定是否应该执行我想要在初始调用上执行的命令。但这需要我修改现有的程序,如果我可以避免它,我也不想这样做。还有其他方法可以做我想做的事吗?
答案 0 :(得分: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
答案 1 :(得分:1)
如何使用输出文件的某些特性来确定是否删除它?时间戳,文件锁,特定文件扩展名等