_strdup_dbg, _wcsdup_dbg
Версии _strdup and _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.