Funzione StrDupA (shlwapi.h)

Duplica una stringa.

Sintassi

PSTR StrDupA(
  PCSTR pszSrch
);

Parametri

pszSrch

Tipo: PCTSTR

Puntatore a una stringa di caratteri con terminazione Null costante.

Valore restituito

Tipo: PTSTR

Restituisce l'indirizzo della stringa copiata oppure NULL se la stringa non può essere copiata.

Commenti

StrDup allocherà la dimensione della stringa originale. Se l'allocazione dell'archiviazione ha esito positivo, la stringa originale viene copiata nella stringa duplicata.

Questa funzione usa LocalAlloc per allocare spazio di archiviazione per la copia della stringa. L'applicazione chiamante deve liberare questa memoria chiamando la funzione LocalFree sul puntatore restituito dalla chiamata a StrDup.

Esempio

Questa semplice applicazione console illustra l'uso di 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

Nota

L'intestazione shlwapi.h definisce StrDup come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 4.71 o successiva)