1

Fortran プログラムのサブルーチンを作成しましたが、コマンド (プログラム ディレクトリ内のファイルを削除して新しいファイルを開く) を実行したいのは、最初の 1 回だけです。サブルーチンの外側のメイン プログラムで、プログラムの起動時に 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 に答える