Next: ACHAR, Previous: ABS, Up: Intrinsic Procedures [Contents][Index]
ACCESS — Checks file access modesACCESS(NAME, MODE) checks whether the file NAME 
exists, is readable, writable or executable. Except for the
executable check, ACCESS can be replaced by
Fortran 95’s INQUIRE.
GNU extension
Inquiry function
RESULT = ACCESS(NAME, MODE)
| NAME | Scalar CHARACTERof default kind with the
file name. Tailing blank are ignored unless the characterachar(0)is present, then all characters up to and excludingachar(0)are
used as file name. | 
| MODE | Scalar CHARACTERof default kind with the
file access mode, may be any concatenation of"r"(readable),"w"(writable) and"x"(executable), or" "to check
for existence. | 
Returns a scalar INTEGER, which is 0 if the file is
accessible in the given mode; otherwise or if an invalid argument
has been given for MODE the value 1 is returned.
program access_test
  implicit none
  character(len=*), parameter :: file  = 'test.dat'
  character(len=*), parameter :: file2 = 'test.dat  '//achar(0)
  if(access(file,' ') == 0) print *, trim(file),' is exists'
  if(access(file,'r') == 0) print *, trim(file),' is readable'
  if(access(file,'w') == 0) print *, trim(file),' is writable'
  if(access(file,'x') == 0) print *, trim(file),' is executable'
  if(access(file2,'rwx') == 0) &
    print *, trim(file2),' is readable, writable and executable'
end program access_test