4

開く操作を実行するたびに、存在するかどうかわからないファイルを開く必要があります。存在する場合は、それを開いてその中の情報を配列に保存し、計算を行い、開いたファイルを消去して、新しい情報を書き込みます。存在しない場合は、情報を書き込むために開いたままにします。

Fortran 77 を使用する必要があります。

私のコードは次のとおりです。

 OPEN(7, FILE = "C:/Abaqus_JOBS/mELF.txt", 
1 action = "READ", status = "UNKNOWN")

私の問題はstatus = "UNKNOWN"、ファイルが存在する場合、それをきれいにする必要があることです(すべてのデータを削除します)。どうすればこれを行うことができますか?

ありがとう

4

1 に答える 1

4

inquire次のステートメントでこれを行うことができます。

logical :: file_exists
! ...

inquire(file='filename.txt',exist=file_exists)
if ( file_exists ) then
  ! Do stuff
else
  ! Do other stuff
endif

または、とにかくファイルをワイプするので、それを ;-) で開くだけです。 とのstatus='replace'違いは、ファイルが存在しない場合に新しいファイルを作成することです。'unknown''replace''replace'

FORTRAN 77 の場合、status='replace'存在しません。次に、openステートメントは次のようになります。

open(1234, file='filename.txt', status='unknown', iostat=ierr)
if ( ierr .eq. 0) then
c    file opened successfully, delete 
  close(1234, status='delete')
endif

c Open a new file
open(1234, file='filename.txt', status='new', iostat=ierr)
于 2013-10-21T16:09:22.173 に答える