_strdup_dbg, _wcsdup_dbg

Versiones de y _wcsdupque usan la versión de_strdupdepuració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