Поделиться через


_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.

См. также

Обработка строк
_strdup, , _wcsdup_mbsdup
Версии отладки функций выделения кучи