Condividi tramite


_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