_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
에 대한 _getdcwd
및 wchar_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