ACCESS — 파일 접근 모드 확인
ACCESS — 파일 접근 모드 확인
파일이 정말 존재하는지, 읽거나 쓰거나 실행할 수 있는 상태인지를 프로그램 안에서 미리 확인하고 싶을 때가 있어요. 그럴 때 ACCESS를 쓰면 됩니다. 단순히 파일 존재 여부만이 아니라 권한까지 한 번에 물어볼 수 있는 함수예요.
본문
시그니처(Synopsis)
RESULT = ACCESS(NAME, MODE)
설명(Description)
ACCESS(NAME, MODE)는 파일 NAME이 존재하는지, 읽기·쓰기·실행이 가능한지를 확인해요. 실행 가능 여부를 제외하면 ACCESS는 Fortran 95의 INQUIRE로 대체할 수 있습니다.
분류(Class)
조사 함수(Inquiry function)
인자(Arguments)
NAME: 기본 종류(default kind)의 스칼라CHARACTER로, 파일 이름을 담아요. 뒤쪽 공백은 무시되는데,achar(0)값이 있으면 그 앞의 모든 문자를 파일 이름으로 사용합니다.MODE: 기본 종류의 스칼라CHARACTER로, 파일 접근 모드를 담아요."r"(읽기),"w"(쓰기),"x"(실행)를 조합해서 쓸 수 있고, 존재 여부만 확인할 땐" "(공백)을 줍니다.
반환값
스칼라 INTEGER를 반환해요. 주어진 모드로 파일에 접근할 수 있으면 0, 그렇지 않거나 MODE에 잘못된 인자가 들어오면 1을 반환합니다.
예제
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
file에 대해 존재·읽기·쓰기·실행을 각각 확인하고, achar(0)으로 끝나는 file2로는 접근 모드 조합(rwx)까지 확인하는 예시예요.
표준(Standard)
GNU 확장(GNU extension)