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


Функция StrDupA (shlwapi.h)

Дублирует строку.

Синтаксис

PSTR StrDupA(
  PCSTR pszSrch
);

Параметры

pszSrch

Тип: PCTSTR

Указатель на константную символьную строку, завершаемую null.

Возвращаемое значение

Тип: PTSTR

Возвращает адрес скопированной строки или значение NULL , если не удается скопировать строку.

Комментарии

StrDup выделяет хранилище размером исходной строки. Если выделение хранилища выполнено успешно, исходная строка копируется в дубликат строки.

Эта функция использует LocalAlloc для выделения дискового пространства для копии строки. Вызывающее приложение должно освободить эту память, вызвав функцию LocalFree в указателе, возвращаемом вызовом StrDup.

Примеры

Это простое консольное приложение иллюстрирует использование StrDup.

#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>

void main(void)
{
   char buffer[] = "This is the buffer text";
   char *newstring;

   // Note: Never use an unbounded %s format specifier in printf.
   printf("Original: %25s\n", buffer);

   newstring = StrDup(buffer);
   if (newstring != NULL)
   {
       printf("Copy:     %25s\n", newstring);
       LocalFree(newstring);
   }
}

OUTPUT:
- - - - - - 
Original: This is the buffer text
Copy:     This is the buffer text

Примечание

Заголовок shlwapi.h определяет StrDup как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 4.71 или более поздняя)