_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 항목
참고 항목
참조
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32