_access
, , _waccess
t_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
지정하지 않으면 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우 함수가 errno
를 EINVAL
로 설정하고 -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
함수