For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.
Versions of _strdup and _wcsdup that use the debug version of
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 );
Null-terminated source string.
Requested type of memory block:
Pointer to name of source file that requested allocation operation or NULL.
Line number in source file where allocation operation was requested or NULL.
Each of these functions returns a pointer to the storage location for the copied string or
NULL if storage cannot be allocated.
_wcsdup_dbg functions are identical to
_wcsdup except that, when
_DEBUG is defined, these functions use the debug version of
_malloc_dbg, to allocate memory for the duplicated string. For information on the debugging features of
_malloc_dbg, see _malloc_dbg.
You do not need to call these functions explicitly in most cases. Instead, you can define the flag
_CRTDBG_MAP_ALLOC is defined, calls to
_wcsdup are remapped to
_wcsdup_dbg, respectively, with the
blockType set to
_NORMAL_BLOCK. Thus, you do not need to call these functions explicitly unless you want to mark the heap blocks as
_CLIENT_BLOCK. For more information on block types, see Types of blocks on the debug heap.
|TCHAR.H routine||_UNICODE & _MBCS not defined||_MBCS defined||_UNICODE defined|
For additional compatibility information, see Compatibility in the Introduction.
All debug versions of the C run-time libraries.