_strdup_dbg, _wcsdup_dbg
버전 _strdup 및 _wcsdup 의 디버그 버전을 사용 malloc.
char *_strdup_dbg(
const char *strSource,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wcsdup_dbg(
const wchar_t *strSource,
int blockType,
const char *filename,
int linenumber
);
매개 변수
strSource
원본의 null로 끝나는 문자열입니다.blockType
요청한 메모리 블록 형식: _CLIENT_BLOCK 또는 _NORMAL_BLOCK.filename
할당 작업이 NULL 요청 된 소스 파일의 이름에 대 한 포인터입니다.linenumber
할당 작업은 요청 된 소스 파일에서 여러 줄 또는 NULL입니다.
반환 값
이러한 각 함수는 복사 된 문자열에 대 한 저장소 위치에 포인터를 반환 또는 NULL 저장소를 할당할 수 없는 경우.
설명
_strdup_dbg 및 _wcsdup_dbg 함수는 동일한 _strdup 및 _wcsdup 제외 하 고, _DEBUG 입니다 정의 디버그 버전의 이러한 함수를 사용 malloc, _malloc_dbg, 중복 된 문자열에 대 한 메모리를 할당할 수 합니다.디버깅 기능에 대 한 내용은 _malloc_dbg를 참조 하십시오 _malloc_dbg.
대부분의 경우 이러한 함수를 명시적으로 호출할 필요가 없습니다.대신, 플래그를 정의할 수 있습니다 _CRTDBG_MAP_ALLOC.때 _CRTDBG_MAP_ALLOC 정의 되 고 호출 하 _strdup 및 _wcsdup 으로 다시 매핑되는 _strdup_dbg 및 _wcsdup_dbg각각에 blockType 설정 _NORMAL_BLOCK.따라서 힙 블록으로 표시 하지 않는 경우 이러한 함수를 명시적으로 호출할 필요가 없습니다 _CLIENT_BLOCK.블록 형식에 대 한 자세한 내용은 의 디버그 힙의 블록 형식.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되지 않았습니다. |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
요구 사항
루틴 |
필수 헤더 |
---|---|
_strdup_dbg, _wcsdup_dbg |
<crtdbg.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
라이브러리
모든 버전의 디버깅은 C 런타임 라이브러리.