_access, _waccess

파일이 읽기 전용인지 아닌지를 확인합니다. 더 안전한 버전을 사용할 수 있습니다. 를 참조하세요_access_s. _waccess_s

구문

int _access(
   const char *path,
   int mode
);
int _waccess(
   const wchar_t *path,
   int mode
);

매개 변수

path
파일 또는 디렉터리 경로입니다.

mode
읽기/쓰기 특성입니다.

반환 값

파일에 지정된 모드가 있으면 각 함수는 0을 반환합니다. 명명된 파일이 없거나 지정된 모드가 없는 경우 함수는 -1을 반환합니다. 이 경우 errno 다음 표와 같이 설정됩니다.

설명
EACCES 액세스 거부: 파일의 권한 설정에서 지정된 액세스를 허용하지 않습니다.
ENOENT 파일 이름 또는 경로를 찾을 수 없습니다.
EINVAL 잘못된 매개 변수입니다.

이러한 코드 및 기타 반환 코드에 대한 자세한 내용은 , _doserrno_sys_nerr_sys_errlist를 참조하세요.errno

설명

파일과 함께 사용할 경우 _access 함수는 지정된 파일 또는 디렉터리가 존재하는지 또는 mode의 값으로 지정한 특성을 가지고 있는지를 확인합니다. 디렉터리와 _access 함께 사용하는 경우 지정된 디렉터리가 존재하는지 여부만 결정합니다. Windows 2000 이상 운영 체제에서는 모든 디렉터리에 읽기 및 쓰기 권한이 있습니다.

mode 파일 검사
00 존재만
02 쓰기 전용
04 읽기 전용
06 읽기 및 쓰기

이 함수는 파일 및 디렉터리가 읽기 전용인지 여부만 검사 파일 시스템 보안 설정을 검사 않습니다. 이를 확인하려면 액세스 토큰이 필요합니다. 파일 시스템 보안에 대한 자세한 내용은 액세스 토큰을 참조 하세요. 이 기능을 제공하기 위해 ATL 클래스가 있습니다. 클래스를 참조하세요CAccessToken.

_waccess_access의 와이드 문자 버전이며, path 에 대한 _waccess 인수는 와이드 문자열입니다. 그렇지 않으면_waccess_access 이 동일하게 작동합니다.

이 함수는 해당 매개 변수의 유효성을 검사합니다. path 유효한 모드이거나 modeNULL 지정하지 않으면 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우 함수가 errnoEINVAL로 설정하고 -1을 반환합니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT의 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

Tchar.h 루틴 _UNICODE 정의 _MBCS 되지 않음 _MBCS 정의 _UNICODE 정의
_taccess _access _access _waccess

요구 사항

루틴에서 반환된 값 필수 헤더 선택적 헤더
_access <io.h> <errno.h>
_waccess <wchar.h> 또는 <io.h> <errno.h>

예시

다음 예제에서는 _access 이름이 지정된 crt_ACCESS.C 파일을 검사 파일의 존재 여부와 쓰기가 허용되는지 여부를 확인합니다.

// crt_access.c
// compile with: /W1
// This example uses _access to check the file named
// crt_ACCESS.C to see if it exists and if writing is allowed.

#include  <io.h>
#include  <stdio.h>
#include  <stdlib.h>

int main( void )
{
    // Check for existence.
    if( (_access( "crt_ACCESS.C", 0 )) != -1 )
    {
        printf_s( "File crt_ACCESS.C exists.\n" );

        // Check for write permission.
        // Assume file is read-only.
        if( (_access( "crt_ACCESS.C", 2 )) == -1 )
            printf_s( "File crt_ACCESS.C does not have write permission.\n" );
    }
}
File crt_ACCESS.C exists.
File crt_ACCESS.C does not have write permission.

참고 항목

파일 처리
_chmod, _wchmod
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32
_open, _wopen
_stat, _wstat 함수