_strdup_dbg, _wcsdup_dbg

_wcsdup_strdupのデバッグ バージョンを使用するバージョン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>

互換性の詳細については、「 Compatibility」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのデバッグ バージョン。

関連項目

文字列操作
_strdup, _wcsdup, _mbsdup
デバッグ バージョンのヒープ割り当て関数