다음을 통해 공유


_access, , _waccesst_access

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

자세한 내용은 _taccess제네릭 텍스트 함수 매핑을 참조 하세요.

구문

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 유효한 모드이거나 mode NULL 지정하지 않으면 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우 함수가 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 함수