共用方式為


_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 執行階段程式庫

.NET Framework 對等用法

System::String::Clone

請參閱

參考

字串操作 (CRT)

_strdup,_wcsdup _mbsdup

概念

堆積配置函式的偵錯版本