_strdup_dbg
, _wcsdup_dbg
Versions de _strdup
et _wcsdup
qui utilisent la version de débogage de malloc
.
Syntaxe
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
);
Paramètres
strSource
Chaîne source se terminant par Null.
blockType
Type de bloc de mémoire demandé : _CLIENT_BLOCK
ou _NORMAL_BLOCK
.
filename
Pointeur vers le nom du fichier source qui a demandé l'opération d'allocation ou NULL
.
linenumber
Numéro de ligne dans le fichier source où l'opération d'allocation a été demandée ou NULL
.
Valeur retournée
Chacune de ces fonctions retourne un pointeur vers l’emplacement de stockage de la chaîne copiée ou NULL
si le stockage ne peut pas être alloué.
Notes
Les fonctions _strdup_dbg
et _wcsdup_dbg
sont identiques à _strdup
et _wcsdup
sauf que, quand _DEBUG
est défini, ces fonctions utilisent la version de débogage de malloc
, _malloc_dbg
pour allouer de la mémoire pour la chaîne dupliquée. Pour plus d’informations sur les fonctionnalités de débogage de _malloc_dbg
, consultez _malloc_dbg
.
Vous n’avez pas besoin d’appeler ces fonctions explicitement dans la plupart des cas. À la place, vous pouvez définir l'indicateur _CRTDBG_MAP_ALLOC
. Quand _CRTDBG_MAP_ALLOC
est défini, les appels à _strdup
et _wcsdup
sont remappés à _strdup_dbg
et _wcsdup_dbg
, respectivement, avec blockType
défini sur _NORMAL_BLOCK
. Par conséquent, vous n’avez pas besoin d’appeler ces fonctions explicitement, sauf si vous souhaitez marquer les blocs de tas comme _CLIENT_BLOCK
. Pour plus d’informations sur les types de bloc, consultez Types de bloc sur le tas de débogage.
Mappages de routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
Spécifications
Routine | En-tête requis |
---|---|
_strdup_dbg , _wcsdup_dbg |
<crtdbg.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Bibliothèques
Toutes les versions debug des bibliothèques Runtime C.
Voir aussi
Manipulation de chaînes
_strdup
, , _wcsdup
_mbsdup
Versions de débogage des fonctions d’allocation du tas