_strdup_dbg
, _wcsdup_dbg
Versiones de y _wcsdup
que usan la versión de_strdup
depuración de malloc
.
Sintaxis
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
Cadena de origen terminada en NULL.
blockType
Tipo de bloque de memoria solicitado: _CLIENT_BLOCK
o _NORMAL_BLOCK
.
filename
Puntero al nombre del archivo de código fuente que solicitó la operación de asignación o NULL
.
linenumber
Número de línea del archivo de código fuente en la que se solicitó la operación de asignación o valor NULL
.
Valor devuelto
Cada una de estas funciones devuelve un puntero a la ubicación de almacenamiento de la cadena copiada o NULL
si no se puede asignar el almacenamiento.
Comentarios
Las funciones _strdup_dbg
y _wcsdup_dbg
son idénticas a _strdup
y _wcsdup
, salvo que, si se define _DEBUG
, estas funciones usan la versión de depuración de malloc
, _malloc_dbg
, para asignar memoria para la cadena duplicada. Para obtener información sobre las características de depuración de _malloc_dbg
, vea _malloc_dbg
.
No es necesario llamar explícitamente a estas funciones en la mayoría de los casos. En lugar de ello, se puede definir la marca _CRTDBG_MAP_ALLOC
. Si se define _CRTDBG_MAP_ALLOC
, las llamadas a _strdup
y _wcsdup
se reasignan a _strdup_dbg
y _wcsdup_dbg
, respectivamente, con el parámetro blockType
establecido en _NORMAL_BLOCK
. Por lo tanto, no es necesario llamar explícitamente a estas funciones a menos que desee marcar los bloques del montón como _CLIENT_BLOCK
. Para obtener más información sobre los tipos de bloques, consulte Tipos de bloques en el montón de depuración.
Asignaciones de rutinas de texto genérico
Rutina TCHAR.H | _UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
Requisitos
Routine | Encabezado necesario |
---|---|
_strdup_dbg , _wcsdup_dbg |
<crtdbg.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas
Todas las versiones de depuración de las bibliotecas en tiempo de ejecución de C.
Consulte también
Manipulación de cadenas
_strdup
, , _wcsdup
, _mbsdup
Versiones de depuración de las funciones de asignación del montón