다음을 통해 공유


_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 런타임 라이브러리.

해당 .NET Framework 항목

System::String::Clone

참고 항목

참조

문자열 조작 (CRT)

_strdup, _wcsdup, _mbsdup

개념

힙 할당 함수의 디버그 버전