问题
I want to create an operator .f. that checks whether a file exists so that I can write
if (.f. filename) Then ...
I have already written a function to do this, now have to create the interface. What would the constraints on e function arguments for having the mentioned functionality?
回答1:
You can use the inquire
intrinsic:
module fileIO
interface operator( .f. )
module procedure file_exists
end interface
contains
function file_exists(filename) result(res)
implicit none
character(len=*),intent(in) :: filename
logical :: res
! Check if the file exists
inquire( file=trim(filename), exist=res )
end function
end module
program test
use fileIO
print *, file_exists('/dev/null')
print *, .f. '/dev/null'
end program
来源:https://stackoverflow.com/questions/30085489/operator-to-check-file-existence