_strdup_dbg, _wcsdup_dbg
Wersje _strdup i _wcsdup , użyj wersji do debugowania 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
Ciąg zakończony znakiem null źródła.blockType
Żądanie typu blok pamięci: _CLIENT_BLOCK lub _NORMAL_BLOCK.filename
Wskaźnik do nazwy pliku źródłowego, który zażądał operacji alokacji lub NULL.linenumber
Numer w pliku źródłowym, jeżeli zażądano operacji alokacji lub NULL.
Wartość zwracana
Każda z tych funkcji zwraca wskaźnik do miejsca przechowywania skopiowany ciąg lub NULL , jeśli nie można przydzielić składowania.
Uwagi
_strdup_dbg i _wcsdup_dbg funkcje są identyczne z _strdup i _wcsdup z wyjątkiem, gdy _DEBUG jest zdefiniowany, funkcje te korzystają z wersji do debugowania malloc, _malloc_dbg, aby przydzielić pamięci dla ciągu zduplikowany.Aby uzyskać informacje dotyczące debugowania cechy _malloc_dbg, zobacz _malloc_dbg.
Nie trzeba jawnie wywoływać te funkcje w większości przypadków.Zamiast tego można zdefiniować flaga _CRTDBG_MAP_ALLOC.Gdy _CRTDBG_MAP_ALLOC jest zdefiniowany, wzywa do _strdup i _wcsdup są mapowane ponownie do _strdup_dbg i _wcsdup_dbg, odpowiednio, z blockType ustawiona na _NORMAL_BLOCK.Dzięki temu, nie trzeba jawnie wywoływać te funkcje, chyba że chcesz oznaczyć bloki sterty jako _CLIENT_BLOCK.Aby uzyskać więcej informacji na temat typów bloku, zobacz Typów bloków na stercie debugowania.
Tekst rodzajowy rutynowych mapowania
TCHAR.Rutynowe H |
_UNICODE & Nie zdefiniowano _MBCS |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_strdup_dbg, _wcsdup_dbg |
<crtdbg.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Biblioteki
Debug wszystkie wersje biblioteki uruchomieniowej c.