Udostępnij za pośrednictwem


_strdup_dbg, _wcsdup_dbg

_strdup Wersje programu i _wcsdupkorzystające z wersji debugowania programu malloc.

Składnia

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 źródłowy zakończony wartością null.

blockType
Żądany typ bloku pamięci: _CLIENT_BLOCK lub _NORMAL_BLOCK.

filename
Wskaźnik na nazwę pliku źródłowego, który zażądał operacji alokacji lub NULL.

linenumber
Numer wiersza w pliku źródłowym, w którym zażądano operacji alokacji lub NULL.

Wartość zwracana

Każda z tych funkcji zwraca wskaźnik do lokalizacji przechowywania skopiowanego ciągu lub NULL jeśli nie można przydzielić magazynu.

Uwagi

Funkcje _strdup_dbg i _wcsdup_dbg są identyczne z _strdup elementami i _wcsdup z tą różnicą, że gdy _DEBUG jest zdefiniowana, te funkcje używają wersji mallocdebugowania , _malloc_dbgw celu przydzielenia pamięci dla zduplikowanego ciągu. Aby uzyskać informacje na temat funkcji debugowania programu _malloc_dbg, zobacz _malloc_dbg.

W większości przypadków nie trzeba jawnie wywoływać tych funkcji. Zamiast tego można zdefiniować flagę _CRTDBG_MAP_ALLOC. Po _CRTDBG_MAP_ALLOC zdefiniowaniu wywołania metody _strdup i _wcsdup są odpowiednio mapowane na _strdup_dbg wartości i _wcsdup_dbgz ustawioną wartością blockType _NORMAL_BLOCK. W związku z tym nie trzeba jawnie wywoływać tych funkcji, chyba że chcesz oznaczyć bloki sterty jako _CLIENT_BLOCK. Aby uzyskać więcej informacji na temat typów bloków, zobacz Typy bloków na stercie debugowania.

Mapowania procedur tekstu ogólnego

Procedura TCHAR.H _UNICODE i _MBCS niezdefiniowane _MBCS zdefiniowany _UNICODE zdefiniowany
_tcsdup_dbg _strdup_dbg _mbsdup _wcsdup_dbg

Wymagania

Procedura Wymagany nagłówek
_strdup_dbg, _wcsdup_dbg <crtdbg.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Biblioteki

Wszystkie wersje debugowania bibliotek czasu wykonywania języka C.

Zobacz też

Manipulowanie ciągami
_strdup, , _wcsdup_mbsdup
Wersja debugowania funkcji alokacji sterty