Sdílet prostřednictvím


_strdup_dbg, _wcsdup_dbg

_strdup Verze a_wcsdupkteré 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_dbgk přidělení paměti pro duplikovaný řetězec. Informace o funkcích ladění naleznete _malloc_dbgv 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_BLOCKblockType . 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 Definovány _UNICODE Definovány
_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