, _wgetdcwd 함수의 _getdcwd디버그 버전(디버그 중에만 사용 가능).
구문
char *_getdcwd_dbg(
int drive,
char *buffer,
int maxlen,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wgetdcwd_dbg(
int drive,
wchar_t *buffer,
int maxlen,
int blockType,
const char *filename,
int linenumber
);
매개 변수
drive
디스크 드라이브의 이름입니다.
buffer
경로의 스토리지 위치입니다.
maxlen
경로의 최대 길이(문자 수)로 char의 경우 _getdcwd_dbg자, wchar_t의 경우 _wgetdcwd_dbg자입니다.
blockType
요청된 메모리 블록 형식으로 _CLIENT_BLOCK 또는 _NORMAL_BLOCK입니다.
filename
할당 작업 또는 NULL을 요청한 소스 파일의 이름에 대한 포인터입니다.
linenumber
할당 작업이 요청되었거나 NULL인 소스 파일의 줄 번호입니다.
반환 값
buffer에 대한 포인터를 반환합니다. NULL 반환 값은 오류를 나타내며 errno 바이트를 할당 maxlen 할 ENOMEM메모리가 부족함을 나타내거나ERANGE(인수가 지정된 경우NULL) 경로가 문자보다 maxlen 길다는 것을 나타내는 값으로 buffer설정됩니다. 자세한 내용은 다음을 참조하세요.errno, _doserrno, _sys_errlist 및 _sys_nerr.
설명
_getdcwd_dbg이 _wgetdcwd_dbg 매개 변수로 전달된 경우 _getdcwd가 정의되면 이러한 함수가 _wgetdcwd 및 _DEBUG의 디버그 버전을 사용하여 메모리를 할당한다는 점을 제외하면 malloc 및 _malloc_dbg 함수는 NULL 및 buffer와 동일합니다. 자세한 내용은 _malloc_dbg를 참조하세요.
대부분의 경우 이러한 함수를 명시적으로 호출할 필요가 없습니다. 대신 _CRTDBG_MAP_ALLOC 플래그를 정의할 수 있습니다. _CRTDBG_MAP_ALLOC을 정의하면 _getdcwd 및 _wgetdcwd에 대한 호출이 각각 _getdcwd_dbg 및 _wgetdcwd_dbg로 다시 매핑되고 blockType은 _NORMAL_BLOCK으로 설정됩니다. 따라서 힙 블록을 _CLIENT_BLOCK.로 표시하지 않는 한 이러한 함수를 명시적으로 호출할 필요가 없습니다. 자세한 내용은 디버그 힙의 블록 형식을 참조하세요.
일반 텍스트 루틴 매핑
| Tchar.h 루틴 | _UNICODE 및 _MBCS 정의되지 않음 |
정의된 _MBCS |
정의된 _UNICODE |
|---|---|---|---|
_tgetdcwd_dbg |
_getdcwd_dbg |
_getdcwd_dbg |
_wgetdcwd_dbg |
요구 사항
| 루틴에서 반환된 값 | 필수 헤더 |
|---|---|
_getdcwd_dbg |
<crtdbg.h> |
_wgetdcwd_dbg |
<crtdbg.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.