_strdup_dbg _wcsdup_dbg
版本的 _strdup 和 _wcsdup 所使用的偵錯版本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
);
參數
strSource
Null 結尾的來源字串。blockType
要求的記憶體區塊類型: _CLIENT_BLOCK或_NORMAL_BLOCK。filename
要求配置作業,則為 NULL 的原始程式檔名稱的指標。linenumber
對齊配置操作所要求的位置的原始程式檔中的數字,或為 NULL。
傳回值
每個函式傳回複製的字串的儲存位置的指標或NULL如果無法配置儲存體。
備註
_strdup_dbg和_wcsdup_dbg函式是等於_strdup和_wcsdup差異在於,當_DEBUG是定義,這些函式會使用偵錯版本的malloc, _malloc_dbg、 重複字串配置記憶體。 如有關的偵錯功能_malloc_dbg,請參閱 _malloc_dbg。
您不需要明確地呼叫這些函式,在大多數情況下。 相反地,您可以在其中定義這個旗標_CRTDBG_MAP_ALLOC。 當_CRTDBG_MAP_ALLOC已定義,會呼叫_strdup和_wcsdup對應至 「 _strdup_dbg和_wcsdup_dbg,分別與blockType設定為 [ _NORMAL_BLOCK。 因此,您不需要明確地呼叫這些函式,除非您想要標示為堆積區塊_CLIENT_BLOCK。 如需有關的區塊類型的詳細資訊,請參閱類型的區塊在偵錯堆積上。
泛用文字常式對應
TCHAR。H 常式 |
_UNICODE & 未定義的 _MBCS |
定義的 _MBCS |
定義 _unicode 之後 |
---|---|---|---|
_tcsdup_dbg |
_strdup_dbg |
_mbsdup |
_wcsdup_dbg |
需求
常式 |
所需的標頭 |
---|---|
_strdup_dbg, _wcsdup_dbg |
<crtdbg.h> |
其他的相容性資訊,請參閱相容性在簡介中。
文件庫
所有的偵錯版本 C 執行階段程式庫。