_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