_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
Версии отладки функций выделения кучи