_strdup_dbg, _wcsdup_dbg
Versionen von _strdup and _wcsdup, die die Debugversion von malloc verwenden.
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 oder NULL zurück, wenn der Speicher nicht belegt 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. Weitere Informationen zu den Debugfunktionen 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 markieren. Weitere Informationen zu Blocktypen finden Sie unter Blocktypen auf dem Debugheap.
Zuordnung 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> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Bibliotheken
Alle Debugversionen der C-Laufzeitbibliotheken.
.NET Framework-Entsprechung
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)