_strdup_dbg
, _wcsdup_dbg
Versões de _strdup
e _wcsdup
que usam a versão de depuração do malloc
.
Sintaxe
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
);
Parâmetros
strSource
Cadeia de caracteres de origem com terminação nula.
blockType
Tipo solicitado de bloco de memória: _CLIENT_BLOCK
ou _NORMAL_BLOCK
.
filename
Nome do ponteiro do arquivo de origem que solicitou a operação de alocação ou NULL
.
linenumber
Número da linha no arquivo de origem em que a operação de alocação foi solicitada ou NULL
.
Valor retornado
Cada uma dessas funções retorna um ponteiro para o local de armazenamento da cadeia de caracteres copiada ou NULL
se o armazenamento não puder ser alocado.
Comentários
As funções _strdup_dbg
e _wcsdup_dbg
são idênticas a _strdup
e _wcsdup
, exceto pelo fato de que, quando _DEBUG
é definido, essas funções usam a versão de depuração de malloc
e _malloc_dbg
para alocar memória para a cadeia de caracteres duplicada. Para obter informações sobre os recursos de depuração do _malloc_dbg
, consulte _malloc_dbg
.
Você não precisa chamar essas funções explicitamente na maioria dos casos. Em vez disso, você pode definir o sinalizador _CRTDBG_MAP_ALLOC
. Quando _CRTDBG_MAP_ALLOC
é definido, as chamadas a _strdup
e _wcsdup
são remapeadas para _strdup_dbg
e _wcsdup_dbg
, respectivamente, com o blockType
definido como _NORMAL_BLOCK
. Portanto, você não precisa chamar essas funções explicitamente, a menos que queira marcar os blocos de heap como _CLIENT_BLOCK
. Para obter mais informações sobre os tipos de bloco, consulte Tipos de blocos no heap de depuração.
Mapeamentos de rotina de texto genérico
Rotina TCHAR.H | _UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_strdup_dbg , _wcsdup_dbg |
<crtdbg.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Bibliotecas
Todas as versões de depuração das bibliotecas em tempo de execução C.
Confira também
Manipulação de cadeia de caracteres
_strdup
, _wcsdup
, _mbsdup
Versões de depuração das funções de alocação de heap