디버그 버전을 사용하여 메모리를 할당하는 의 _fullpath_wfullpathmalloc 버전입니다.
구문
char *_fullpath_dbg(
char *absPath,
const char *relPath,
size_t maxLength,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wfullpath_dbg(
wchar_t *absPath,
const wchar_t *relPath,
size_t maxLength,
int blockType,
const char *filename,
int linenumber
);
매개 변수
absPath
절대 또는 전체 경로 이름이나 NULL이 포함된 버퍼에 대한 포인터입니다.
relPath
상대 경로 이름입니다.
maxLength
절대 경로 이름 버퍼(absPath)의 최대 길이입니다. 이 길이는 _fullpath_dbg의 바이트 수로, wchar_t의 경우에는 와이드 문자 수입니다(_wfullpath_dbg).
blockType
요청된 메모리 블록 형식으로 _CLIENT_BLOCK 또는 _NORMAL_BLOCK입니다.
filename
할당 작업 또는 NULL을 요청한 소스 파일의 이름에 대한 포인터입니다.
linenumber
할당 작업이 요청되었거나 NULL인 소스 파일의 줄 번호입니다.
반환 값
각 함수는 절대 경로 이름(absPath)이 포함된 버퍼에 대한 포인터를 반환합니다. 오류가 있는 경우(예: 전달된 값에 relPath 유효하지 않거나 찾을 수 없는 드라이브 문자가 포함되거나 생성된 절대 경로 이름(absPath)의 길이가 보다 maxLength크면 함수가 반환됩니다 NULL.
설명
및 _wfullpath_dbg 함수는 _fullpath_dbg 동일 _fullpath 하며_wfullpath, 정의될 때 _DEBUG 이러한 함수는 디버그 버전의 malloc, _malloc_dbg를 사용하여 첫 번째 매개 변수로 전달되는 경우 NULL 메모리를 할당합니다. 의 디버깅 기능에 _malloc_dbg대한 자세한 내용은 다음을 참조하세요 _malloc_dbg.
대부분의 경우 이러한 함수를 명시적으로 호출할 필요가 없습니다. 대신 _CRTDBG_MAP_ALLOC 플래그를 정의할 수 있습니다. _CRTDBG_MAP_ALLOC을 정의하면 _fullpath 및 _wfullpath에 대한 호출이 각각 _fullpath_dbg 및 _wfullpath_dbg로 다시 매핑되고 blockType은 _NORMAL_BLOCK으로 설정됩니다. 따라서 힙 블록을 _CLIENT_BLOCK.로 표시하지 않는 한 이러한 함수를 명시적으로 호출할 필요가 없습니다. 자세한 내용은 디버그 힙의 블록 형식을 참조하세요.
일반 텍스트 루틴 매핑
| Tchar.h 루틴 | _UNICODE 및 _MBCS 정의되지 않음 |
정의된 _MBCS |
정의된 _UNICODE |
|---|---|---|---|
_tfullpath_dbg |
_fullpath_dbg |
_fullpath_dbg |
_wfullpath_dbg |
요구 사항
| 함수 | 필수 헤더 |
|---|---|
_fullpath_dbg |
<crtdbg.h> |
_wfullpath_dbg |
<crtdbg.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.