Função StrDupA (shlwapi.h)
Duplica uma cadeia de caracteres.
Sintaxe
PSTR StrDupA(
PCSTR pszSrch
);
Parâmetros
pszSrch
Tipo: PCTSTR
Um ponteiro para uma cadeia de caracteres terminada em nulo constante.
Retornar valor
Tipo: PTSTR
Retorna o endereço da cadeia de caracteres que foi copiada ou NULL se a cadeia de caracteres não puder ser copiada.
Comentários
StrDup alocará o armazenamento do tamanho da cadeia de caracteres original. Se a alocação de armazenamento for bem-sucedida, a cadeia de caracteres original será copiada para a cadeia de caracteres duplicada.
Essa função usa LocalAlloc para alocar espaço de armazenamento para a cópia da cadeia de caracteres. O aplicativo de chamada deve liberar essa memória chamando a função LocalFree no ponteiro retornado pela chamada para StrDup.
Exemplos
Este aplicativo de console simples ilustra o uso de 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
Observação
O cabeçalho shlwapi.h define StrDup como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlwapi.h |
Biblioteca | Shlwapi.lib |
DLL | Shlwapi.dll (versão 4.71 ou posterior) |