Aracılığıyla paylaş


_strdup_dbg, _wcsdup_dbg

ve _wcsdup'nin _strdup hata ayıklama sürümünü kullanan sürümlerimalloc.

Sözdizimi

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
);

Parametreler

strSource
Null olarak sonlandırılan kaynak dize.

blockType
İstenen bellek bloğu türü: _CLIENT_BLOCK veya _NORMAL_BLOCK.

filename
Ayırma işlemi veya NULListenen kaynak dosyanın adına yönelik işaretçi.

linenumber
Kaynak dosyada, ayırma işleminin istendiği satır numarası veya NULL.

Dönüş değeri

Bu işlevlerin her biri, kopyalanan dizenin depolama konumuna veya NULL depolama ayrılamıyorsa bir işaretçi döndürür.

Açıklamalar

_strdup_dbg ve _wcsdup_dbg işlevleri ile aynıdır _strdup ve _wcsdup dışında, tanımlandığında_DEBUG, bu işlevler yinelenen dize için bellek ayırmak için , hata _malloc_dbgayıklama sürümünü mallockullanır. hata ayıklama özellikleri _malloc_dbghakkında bilgi için bkz _malloc_dbg. .

Çoğu durumda bu işlevleri açıkça çağırmanız gerekmez. Bunun yerine bayrağını _CRTDBG_MAP_ALLOCtanımlayabilirsiniz. Tanımlandığında, ve _wcsdup çağrıları _strdup sırasıyla blockType ve _wcsdup_dbgile yeniden eşlenir _strdup_dbg ve olarak ayarlanır_NORMAL_BLOCK._CRTDBG_MAP_ALLOC Bu nedenle, yığın bloklarını olarak _CLIENT_BLOCKişaretlemek istemediğiniz sürece bu işlevleri açıkça çağırmanız gerekmez. Blok türleri hakkında daha fazla bilgi için bkz . Hata ayıklama yığınındaki blok türleri.

Genel metin yordamı eşlemeleri

TCHAR.H yordamı _UNICODE ve _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_tcsdup_dbg _strdup_dbg _mbsdup _wcsdup_dbg

Gereksinimler

Yordam Gerekli başlık
_strdup_dbg, _wcsdup_dbg <Crtdbg>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Kitaplıklar

C çalışma zamanı kitaplıklarının tüm hata ayıklama sürümleri.

Ayrıca bkz.

Dize işleme
_strdup, _wcsdup, _mbsdup
Öbek atama işlevleri hata ayıklama sürümleri