다음을 통해 공유


_access_s, _waccess_s

파일 읽기 권한을 결정합니다.이것은 버전입니다 _access, _waccess 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.

errno_t _access_s( 
   const char *path, 
   int mode 
);
errno_t _waccess_s( 
   const wchar_t *path, 
   int mode 
);

매개 변수

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

  • mode
    사용 권한 설정 합니다.

반환 값

파일 지정 된 모드에 있는 경우 각 함수는 0을 반환 합니다.이름이 지정 된 파일이 존재 하지 않거나 지정 된 모드에 액세스할 수 없는 경우 오류 코드를 반환 하는 함수입니다.이 경우 함수 집합에서 다음과 같은 오류 코드를 반환 하 고 또한 설정 errno 같은 값입니다.

  • EACCES
    액세스가 거부되는 경우.파일의 권한 설정을 지정한 액세스를 허용 하지 않습니다.

  • ENOENT
    파일 이름 또는 경로 찾을 수 없습니다.

  • EINVAL
    잘못 된 매개 변수입니다.

자세한 내용은 errno, _doserrno, _sys_errlist, _sys_nerr를 참조하십시오.

설명

파일을 사용 하는 데 사용 하는 경우는 _access_s 함수 지정 된 파일이 존재 하 고로 액세스할 수 있습니다 여부를 결정의 값으로 지정 된 mode.디렉터리를 사용할 때 _access_s 만 지정 된 디렉터리가 있는지 여부를 결정 합니다.Windows 2000 및 나중에 운영 체제를 모든 디렉터리 읽기 및 쓰기 액세스입니다.

모드 값

검사 파일

00

존재 합니다.

02

쓰기 권한입니다.

04

읽기 권한입니다.

06

읽기 및 쓰기 권한입니다.

읽거나 파일에 쓸 수 있는 파일을 열 수 있도록 충분 하지 않습니다.파일이 다른 프로세스에 의해 잠겨 있는 경우 예를 들어,이 경우에 액세스할 수 없습니다 _access_s 0을 반환 합니다.

_waccess_s와이드 문자 버전입니다 _access_s, 여기서는 path 인수를 _waccess_s 와이드 문자 문자열입니다.그렇지 않으면 _waccess_s_access_s 동일 하 게 동작 합니다.

이러한 함수 매개 변수의 유효성을 검사 합니다.경우 path 입니다 NULL 또는 mode 올바른 모드를 지정 하지 않은의 설명에 따라 잘못 된 매개 변수 처리기가 호출 매개 변수 유효성 검사.실행을 계속 수 있으면 이러한 함수를 설정 errno 에 EINVAL 를 반환 하 고 EINVAL.

일반 텍스트 루틴 매핑

Tchar.h 루틴

_UNICODE 및 _mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_taccess_s

_access_s

_access_s

_waccess_s

요구 사항

루틴

필수 헤더

선택적 헤더

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> 또는 <io.h>

<errno.h>

예제

이 예제를 사용 하 여 _access_s 존재 여부 및 쓰기 허용 되는지 여부를 확인 하려면 crt_access_s.c 파일을 확인 합니다.

// crt_access_s.c

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

int main( void )
{
    errno_t err = 0;

    // Check for existence. 
    if ((err = _access_s( "crt_access_s.c", 0 )) == 0 )
    {
        printf_s( "File crt_access_s.c exists.\n" );

        // Check for write permission. 
        if ((err = _access_s( "crt_access_s.c", 2 )) == 0 )
        {
            printf_s( "File crt_access_s.c does have "
                      "write permission.\n" );
        }
        else
        {
            printf_s( "File crt_access_s.c does not have "
                      "write permission.\n" );
        }
    }
    else
    {
        printf_s( "File crt_access_s.c does not exist.\n" );
    }
}
  
  

해당 .NET Framework 항목

System.IO.FileAccess

참고 항목

참조

파일 처리

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat 함수