[GNU Fortran]ファイル(ディレクトリ)の存在を確認
access関数を使う。第一引数に存在の有無を確認したいファイル名かディレクトリ名。第二引数に「r」を指定する。第一引数に指定をしたファイル(ディレクトリ)が存在した場合は0、存在しない場合は0以外を返す。
program test
implicit none
integer n
n = access('C:\Windows', 'r')
print *, n
n = access('C:\Win', 'r')
print *, n
n = access('C:\Windows\write.exe', 'r')
print *, n
n = access('C:\Windows\wri.exe', 'r')
print *, n
n = access('C:\Windows\', 'r')
print *, n
n = access('C:\Windows\write.exe\', 'r')
print *, n
end program test
出力結果(環境により異なる)。
>test.exe
0
2
0
2
0
22
ファイルかディレクトリの判別は、上記の最後2つの例のとおりに、第一引数のパスの最後にパス区切り文字(ウィンドウズの場合は¥)を付ける。パス区切り文字を最後に付けると、それはディレクトリと判断して存在の有無が確認される。
access関数はGNU拡張機能(GNU extension)であることに注意。
« [Octave]QR分解を行う | トップページ | [Python]QR分解を行う »
「Fortran」カテゴリの記事
- [Fortran]文字列の前後の空白を取り除く(2023.03.05)
- [Fortran]write文で出力時に改行させない(2021.01.31)
- [Fortran]サブルーチンの引数にサブルーチンを指定する(2021.01.09)
- [GNU Fortran]ファイル(ディレクトリ)の存在を確認(2020.08.16)
- [gfortran]エラーメッセージ「Program received signal SIGSEGV: Segmentation fault - invalid memory reference.」(2020.07.20)

コメント