_strdup_dbg, _wcsdup_dbg
Verze _strdup a _wcsdup využívající ladicí verze malloc.
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
Řetězec ukončený hodnotou Null zdroje.blockType
Požadovaný typ bloku paměti: _CLIENT_BLOCK nebo _NORMAL_BLOCK.filename
Ukazatel na název zdrojového souboru, který požádal přidělení operace nebo hodnota NULL.linenumber
Číslo řádku na zdrojový soubor, kde byla požadována operace přidělení nebo hodnota NULL.
Vrácená hodnota
Každá z těchto funkcí vrací ukazatel na umístění úložiště pro řetězec zkopírovaný nebo NULL Pokud nelze přidělit úložiště.
Poznámky
_strdup_dbg a _wcsdup_dbg funkce jsou shodné s _strdup a _wcsdup s tím rozdílem, že, když _DEBUG je definována, použijte tyto funkce ladění verzi malloc, _malloc_dbg, přidělení paměti pro duplicitní řetězec.Informace o ladění funkce _malloc_dbg, naleznete v části _malloc_dbg.
Chcete-li tyto funkce volat explicitně ve většině případů nepotřebujete.Namísto toho můžete definovat příznak _CRTDBG_MAP_ALLOC.Při _CRTDBG_MAP_ALLOC je definován, zavolá na _strdup a _wcsdup jsou mapovány na _strdup_dbg a _wcsdup_dbg, resp. s blockType nastavena na _NORMAL_BLOCK.Tedy není nutné explicitně volat tyto funkce, pokud chcete označit bloky haldy jako _CLIENT_BLOCK.Další informace o typech bloku, naleznete v části typy bloky haldy ladění.
Mapování rutin obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definována. |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_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ě naleznete v úvodu tématu Kompatibilita.
Knihovny
Všechny ladicí verze knihoven C run-time.