Freigeben über


_strdup_dbg, _wcsdup_dbg

Versionen von _strdup und _wcsdup die die Debugversion von malloc.

Syntax

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
);

Parameter

strSource
Mit NULL endende Quellzeichenfolge.

blockType
Angeforderter Typ des Speicherblocks: _CLIENT_BLOCK oder _NORMAL_BLOCK.

filename
Zeiger auf den Namen der Quelldatei, die die Zuordnung angefordert hat, oder NULL.

linenumber
Zeilennummer in der Quelldatei, in der die Belegung angefordert wurde, oder NULL.

Rückgabewert

Jede dieser Funktionen gibt einen Zeiger auf den Speicherort für die kopierte Zeichenfolge zurück oder NULL wenn speicher nicht zugewiesen werden kann.

Hinweise

Die Funktionen _strdup_dbg und _wcsdup_dbg sind identisch mit _strdup und _wcsdup, außer dass bei Definition von _DEBUG diese Funktionen die Debugversion von malloc und _malloc_dbg verwenden, um Speicher für die duplizierte Zeichenfolge zu belegen. Informationen zu den Debugfeatures von _malloc_dbg, finden Sie unter _malloc_dbg.

In den meisten Fällen müssen Sie diese Funktionen nicht explizit aufrufen. Stattdessen können Sie das _CRTDBG_MAP_ALLOC-Flag definieren. Wenn _CRTDBG_MAP_ALLOC definiert ist, werden Aufrufe von _strdup und _wcsdup zu _strdup_dbg bzw. _wcsdup_dbg neu zugeordnet, wobei blockType auf _NORMAL_BLOCK festgelegt wird. Daher müssen Sie diese Funktionen nicht explizit aufrufen, es sei denn, Sie möchten die Heapblöcke als _CLIENT_BLOCK. Weitere Informationen zu den Blocktypen finden Sie unter Blocktypen auf dem Debugheap.

Mapping generischer Textroutinen

TCHAR.H-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tcsdup_dbg _strdup_dbg _mbsdup _wcsdup_dbg

Anforderungen

Routine Erforderlicher Header
_strdup_dbg, _wcsdup_dbg <crtdbg.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Libraries

Alle Debugversionen der C-Laufzeitbibliotheken.

Siehe auch

Zeichenfolgenbearbeitung
_strdup, _wcsdup_mbsdup
Debugversionen von Heapreservierungsfunktionen