Fortranでのファイルの削除
Fortranで ファイルを削除したい。環境に依存するsystem
関数を使わない方法を調べた。
以下のように,close
文のstatus
に"delete"
を指定すれば,開いたファイル (fname
) を削除できる。
open(1, file="fname")
close(1, status="delete")
ただし、ディレクトリは削除できない。以下のようにしてディレクトリの場合は無視するのがよいだろう。
open(unit=1234, iostat=stat, file=file, status="old")
if (stat == 0) close(1234, status="delete")
なお,ファイルの中身だけを削除するならば、以下のようにopen文でstatus="replace"
を指定して開いてすぐに閉じればよい。
open(1, file="fname", status="replace")
close(1)