다음을 통해 공유


_getdcwd, _wgetdcwd

지정한 드라이브의 현재 작업 디렉터리의 전체 경로를 가져옵니다.

구문

char *_getdcwd(
   int drive,
   char *buffer,
   int maxlen
);
wchar_t *_wgetdcwd(
   int drive,
   wchar_t *buffer,
   int maxlen
);

매개 변수

drive
드라이브를 지정하는 음수가 아닌 정수입니다(0 = 기본 드라이브, 1 = A, 2 = B 등).

지정된 드라이브를 사용할 수 없는 경우 잘못된 매개 변수 처리기가 호출됩니다. 이동식, 고정, CD-ROM, RAM 디스크 또는 네트워크 드라이브와 같은 드라이브 종류를 확인할 수 없는 경우에도 호출됩니다. 자세한 내용은 매개 변수 유효성 검사를 참조 하세요.

buffer
경로에 대한 스토리지 위치 또는 NULL.

지정된 경우 NULL 이 함수는 적어도 maxlen 크기를 사용하여 malloc버퍼를 할당하고 반환 값 _getdcwd 은 할당된 버퍼에 대한 포인터입니다. free 를 호출하고 포인터에 전달하여 버퍼를 해제할 수 있습니다.

maxlen
경로의 최대 길이를 지정하는 0이 아닌 양의 정수: char 에 대한 _getdcwdwchar_t 에 대한 _wgetdcwd

0보다 작거나 같으면 maxlen 잘못된 매개 변수 처리기가 호출됩니다. 자세한 내용은 매개 변수 유효성 검사를 참조 하세요.

반환 값

지정된 드라이브의 현재 작업 디렉터리의 전체 경로를 나타내는 문자열에 대한 포인터 또는 오류를 나타내는 NULL입니다.

NULL 지정되고 문자를 할당 maxlen 할 메모리가 부족한 경우 buffer 오류가 발생하고 로 설정ENOMEM됩니다errno. 종료 null 문자를 포함하는 경로의 길이가 초과 maxlen되면 오류가 발생하고 errno 로 설정 ERANGE됩니다. 이러한 오류 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno._sys_nerr_sys_errlist_doserrno

설명

_getdcwd 함수는 지정된 드라이브에 있는 현재 작업 디렉터리의 전체 경로를 가져오고 buffer에 저장합니다. 현재 작업 디렉터리가 루트로 설정된 경우 문자열은 백슬래시(\)로 끝납니다. 현재 작업 디렉터리가 루트 이외의 디렉터리로 설정되는 경우 문자열은 백슬래시가 아닌 디렉터리의 이름으로 끝납니다.

_wgetdcwd_getdcwd의 와이드 문자 버전이고 해당 buffer 매개 변수 및 반환 값이 와이드 문자열입니다. 그렇지 않으면 _wgetdcwd_getdcwd 은 동일하게 작동합니다.

이 함수는 스레드로부터 안전하지 않은 자체에 따라 달라 GetFullPathName지더라도 스레드로부터 안전합니다. 그러나 다중 스레드 애플리케이션이 이 함수와 GetFullPathName를 모두 호출하는 경우 스레드 보안을 위반할 수 있습니다.

접미사가 있는 _nolock 이 함수의 버전은 스레드로부터 안전하지 않고 다른 스레드의 간섭으로부터 보호되지 않는다는 점을 제외하고 이 함수와 동일하게 동작합니다. 자세한 내용은 _getdcwd_nolock, _wgetdcwd_nolock을 참조하세요.

_CRTDBG_MAP_ALLOC 정의되는 경우 _DEBUG 메모리 할당을 디버그할 _wgetdcwd _getdcwd 수 있도록 호출 및 호출로 _getdcwd_dbg _wgetdcwd_dbg대체됩니다. 자세한 내용은 다음을 참조하세요_wgetdcwd_dbg_getdcwd_dbg.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

Tchar.h 루틴 _UNICODE_MBCS 정의되지 않음 정의된 _MBCS 정의된 _UNICODE
_tgetdcwd _getdcwd _getdcwd _wgetdcwd

요구 사항

루틴에서 반환된 값 필수 헤더
_getdcwd <direct.h>
_wgetdcwd <direct.h> 또는 <wchar.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

_getdrive의 예제를 참조하십시오.

참고 항목

디렉터리 컨트롤
_chdir, _wchdir
_getcwd, _wgetcwd
_getdrive
_mkdir, _wmkdir
_rmdir, _wrmdir