Operator to check file existence

不羁岁月 提交于 2019-11-28 09:16:41

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!