_strdup_dbg, _wcsdup_dbg
Versões de _strdup e _wcsdup que usam a versão de depuração de 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 );
Parâmetros
strSource
Cadeia de caracteres de origem com terminação nula.blockType
Tipo de bloco de memória solicitado: _CLIENT_BLOCKou _NORMAL_BLOCK.filename
Ponteiro para o nome 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 de retorno
Cada uma dessas funções retornam um ponteiro para o local de armazenamento para a 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 de _malloc_dbg, consulte _malloc_dbg.
Na maioria dos casos, não é necessário chamar essas funções explicitamente. Em vez disso, defina 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. Assim, não é necessário chamar essas funções explicitamente, a menos que você queira marcar os blocos de heap como _CLIENT_BLOCK. Para obter mais informações sobre os tipos de blocos, consulte Tipos de blocos na heap de depuração.
Mapeamentos da 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 adicionais sobre compatibilidade, consulte Compatibilidade na Introdução.
Bibliotecas
Todas as versões de depuração das bibliotecas de tempo de execução C.
Equivalência do .NET Framework
Consulte também
Referência
Manipulação da cadeia de caracteres (CRT)