본문 바로가기

잡동사니(OLD)/예제로 작성한 코드들

[Library] _access 함수 설명 밎 사용예제


내안의작은세상

MSDN Library Korean Version

_access, _waccess

기본 요약 설명:
파일이 존재하는지 와 읽기,쓰기 가 가능 한지를 확인한다.

원형:
int _access( const char *path,int mode );

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

함수명 필요한 헤더파일 옵션 헤더파일 호환성
_access <io.h> <errno.h> Win 95, Win NT
_waccess <wchar.h> or <io.h> <errno.h> Win NT

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version

리턴 값

요청한 사항이 참일 경우(Ex:파일 있는지 확인시 파일이 있는 경우) 0을 리턴하고 거짓일 경우(파일이 없는 경우) 1을 리턴한다
오류 발생시 1을 리턴하며, errno  가 아래와 같이 설정 된다

EACCES

파일이나 디렉토리를 찾을수 없다

ENOENT

접근이 불가능하다

매개변수

path

파일 또는 디렉토리 경로

mode

모드( 읽기 모드인지 쓰기모드 인지.. )

Remarks

mode 에는 아래와 같은 값이 사용된다.

값 형태 기능
00 파일이 있는지를 검사한다
02 기록이 가능한지 검사한다
04 읽기가 가능한지 검사한다
06 읽기,쓰기 모두 가능한지 검사한다

_waccess 는 _access 가 보다 확장된 함수이다 보다 더 넓은 범위를 가진다.

Generic-Text Routine Mappings

TCHAR.H 명령 _UNICODE & _MBCS 정의하지 않음 _MBCS 정의 _UNICODE 정의
_taccess _access _access _waccess

예제

/* ACCESS.C:*/
#include  <io.h>
#include  <stdio.h>
#include  <stdlib.h>

void main( void )
{
   /* 파일 존재여부확인 */
   if( (_access( "ACCESS.C", 0 )) != -1 )
   {
      printf( "파일 ACCESS.C 존재함\n" );
      /* 쓰기 가능 여부 확인*/
      if( (_access( "ACCESS.C", 2 )) != -1 )
         printf( "파일 ACCESS.C 는 쓰기권한을 가지고 있음\n" );
   }
}

출력결과

파일 ACCESS.C 존재함
파일 ACCESS.C 는 쓰기권한을 가지고 있음
------------------------------------------------------------------------------
번역판기준: MSDN Library 6.0
최초작성일: 2007.11.16
마지막수정: 2007.11.26
수정&번역 : 이용범(top6616@gmail.com)
** 이 글로 인하여 문제가 될 경우 여기 로 문의해주세요!
** 저는 상당한 실력자는 아니기 때문에 오역이 있을수가 있으니 양해해주세요
*** 퍼갈 경우 원본출쳐 는 꼭 남겨주세요!!
------------------------------------------------------------------------------