_strdup_dbg
, _wcsdup_dbg
_strdup
Wersje programu i _wcsdup
korzystają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 malloc
debugowania , _malloc_dbg
w 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_dbg
z 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