_strdup_dbg
, _wcsdup_dbg
Versioni di _strdup
e _wcsdup
che usano la versione di debug di malloc
.
Sintassi
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
);
Parametri
strSource
Stringa di origine con terminazione null.
blockType
Tipo richiesto di blocco di memoria: _CLIENT_BLOCK
o _NORMAL_BLOCK
.
filename
Puntatore al nome del file di origine che ha richiesto l'operazione di allocazione o NULL
.
linenumber
Numero di riga nel file di origine in cui è stata richiesta l'operazione di allocazione o NULL
.
Valore restituito
Ognuna di queste funzioni restituisce un puntatore alla posizione di archiviazione per la stringa copiata o NULL
se l'archiviazione non può essere allocata.
Osservazioni:
Le funzioni _strdup_dbg
e _wcsdup_dbg
sono identiche a _strdup
e _wcsdup
ad eccezione che, quando _DEBUG
è definito, queste funzioni usano la versione di debug di malloc
, _malloc_dbg
per allocare memoria per la stringa duplicata. Per informazioni sulle funzionalità di debug di _malloc_dbg
, vedere _malloc_dbg
.
Non è necessario chiamare queste funzioni in modo esplicito nella maggior parte dei casi. In alternativa, è possibile definire il flag _CRTDBG_MAP_ALLOC
. Quando _CRTDBG_MAP_ALLOC
è definito, le chiamate a _strdup
e _wcsdup
vengono mappate nuovamente a _strdup_dbg
e _wcsdup_dbg
rispettivamente, con blockType
impostato su _NORMAL_BLOCK
. Pertanto, non è necessario chiamare queste funzioni in modo esplicito, a meno che non si voglia contrassegnare i blocchi dell'heap come _CLIENT_BLOCK
. Per altre informazioni sui tipi di blocco, vedere Types of blocks on the debug heap (Tipi di blocchi sull'heap di debug).
Mapping di routine di testo generico
Routine TCHAR.H | _UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_strdup_dbg , _wcsdup_dbg |
<crtdbg.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Librerie
Tutte le versioni di debug delle librerie di runtime C.
Vedi anche
Manipolazione delle stringhe
_strdup
, _wcsdup
, _mbsdup
Versioni di debug di funzioni di allocazione heap