반응형
access함수는 파일이 존재하는지 어떤 권한이 있는지 판단하는 함수입니다.
access
#include <unistd.h>
int access(const char *path, int mode);
path가 파일의 위치를 나타내고, mode가 파일의 어떤 점을 확인할 것인지 확인하는 것입니다.
path에 입력된 파일이 mode에 입력된 조건에 충족을 한다면 0을 리턴 그렇지 않다면 -1을 리턴합니다.
예시를 한번 들어보도록 하겠습니다.
'exist'파일이 존재하는지 하지 않는지 확인하도록 하겠습니다.
#include <stdio.h>
#include <unistd.h>
int main(void)
{
if (access("./exist", F_OK) == 0)
printf("exist file is exist.\n");
else
printf("exist file is not exist.\n");
if (access("./unexist", F_OK) == 0)
printf("unexist file is exist.\n");
else
printf("unexist file is not exist.\n");
}
출력값을 살펴보겠습니다.
exist file is exist.
unexist file is not exist.
존재하는 파일 exist는 access함수가 0을 리턴하고,
존재하지 않는 파일 unexist는 access함수가 -1을 리턴합니다.
그 외에 mode인자에 사용할 수 있는 값들을 알아보도록 하겠습니다.
F_OK : 0 (파일의 존재 여부를 확인함)
X_OK : 1<<0 (파일의 실행 권한이 있는지 확인함)
W_OK : 1<<1 (파일의 쓰기 권한이 있는지 확인함)
R_OK : 1<<2 (파일의 읽기 권한이 있는지 확인함)
위의 경우를 여러 개 사용하고 싶다면 '|'(or 연산자)를 사용하면 됩니다.
반응형
'Language > C언어' 카테고리의 다른 글
C049_fork 함수 사용하기 (2) | 2024.01.07 |
---|---|
C048_unlink 함수 사용하기 (0) | 2024.01.06 |
C046_exit 함수 사용하기 (0) | 2024.01.04 |
C045_perror함수 사용하기 (0) | 2024.01.03 |
C044_malloc 사용하기 (0) | 2024.01.02 |