Condividi tramite


_strdup_dbg, _wcsdup_dbg

Versioni di _strdup e _wcsdup che usano la versione di debug di malloc.

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 a una posizione di archiviazione per la stringa copiata oppure NULL se l'archiviazione non può essere allocata.

Note

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.

Nella maggior parte dei casi non è necessario chiamare queste funzioni in modo esplicito. 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. Quindi, non è necessario chiamare queste funzioni in modo esplicito a meno che non si vogliano contrassegnare blocchi di memoria heap come _CLIENT_BLOCK. Per altre informazioni sui tipi di blocchi, vedere Tipi di blocchi sull'heap di debug.

Mapping di routine di testo generico

Routine TCHAR.H

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcsdup_dbg

_strdup_dbg

_mbsdup

_wcsdup_dbg

Requisiti

Routine

Intestazione obbligatoria

_strdup_dbg, _wcsdup_dbg

<crtdbg.h>

Per altre informazioni sulla compatibilità, vedere la sezione Compatibilità nell'introduzione.

Librerie

Tutte le versioni di debug delle librerie di runtime C.

Equivalente .NET Framework

System::String::Clone

Vedere anche

Riferimenti

Modifica di stringhe (CRT)

_strdup, _wcsdup, _mbsdup

Concetti

Versioni di debug di funzioni di allocazione heap