_strdup_dbg
, _wcsdup_dbg
_strdup
Verze a _wcsdup
které používají ladicí verzi .malloc
Syntaxe
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
);
Parametry
strSource
Zdrojový řetězec ukončený hodnotou null.
blockType
Požadovaný typ bloku paměti: _CLIENT_BLOCK
nebo _NORMAL_BLOCK
.
filename
Ukazatel na název zdrojového souboru, který požadoval operaci přidělení nebo NULL
.
linenumber
Číslo řádku ve zdrojovém souboru, kde byla požadována operace přidělení nebo NULL
.
Vrácená hodnota
Každá z těchto funkcí vrátí ukazatel na umístění úložiště pro zkopírovaný řetězec nebo NULL
pokud úložiště nelze přidělit.
Poznámky
Funkce _strdup_dbg
jsou _wcsdup_dbg
identické s a _wcsdup
s tím rozdílem_strdup
, že pokud _DEBUG
jsou definovány, tyto funkce používají ladicí verzi malloc
, _malloc_dbg
k přidělení paměti pro duplikovaný řetězec. Informace o funkcích ladění naleznete _malloc_dbg
v tématu _malloc_dbg
.
Ve většině případů tyto funkce nemusíte volat explicitně. Místo toho můžete definovat příznak _CRTDBG_MAP_ALLOC
. Pokud _CRTDBG_MAP_ALLOC
je definována, volání a _wcsdup
_strdup
jsou znovu namapována _strdup_dbg
a _wcsdup_dbg
, v uvedeném pořadí, s nastavenou na _NORMAL_BLOCK
blockType
. Proto není nutné tyto funkce volat explicitně, pokud nechcete označit bloky haldy jako _CLIENT_BLOCK
. Další informace o typech bloků najdete v tématu Typy bloků v haldě ladění.
Mapování rutin obecného textu
Rutina TCHAR.H | _UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_strdup_dbg , _wcsdup_dbg |
<crtdbg.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny
Všechny ladicí verze knihoven runtime jazyka C.
Viz také
Manipulace s řetězci
_strdup
, , _wcsdup
_mbsdup
Ladění verzí funkcí přidělení haldy