Freigeben über


StrDupW-Funktion (shlwapi.h)

Dupliziert eine Zeichenfolge.

Syntax

PWSTR StrDupW(
  PCWSTR pszSrch
);

Parameter

pszSrch

Typ: PCTSTR-

Ein Zeiger auf eine Konstante null-terminated character string.

Rückgabewert

Typ: PTSTR-

Gibt die Adresse der kopierten Zeichenfolge oder NULL- zurück, wenn die Zeichenfolge nicht kopiert werden kann.

Bemerkungen

StrDup- speichert die Größe der ursprünglichen Zeichenfolge. Wenn die Speicherzuweisung erfolgreich ist, wird die ursprüngliche Zeichenfolge in die doppelte Zeichenfolge kopiert.

Diese Funktion verwendet LocalAlloc-, um Speicherplatz für die Kopie der Zeichenfolge zuzuweisen. Die aufrufende Anwendung muss diesen Speicher freigeben, indem sie die LocalFree--Funktion auf dem Zeiger aufruft, der vom Aufruf von StrDupzurückgegeben wird.

Beispiele

Diese einfache Konsolenanwendung veranschaulicht die Verwendung von 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

Anmerkung

Der Header "shlwapi.h" definiert StrDup als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional, Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- shlwapi.h
Library Shlwapi.lib
DLL- Shlwapi.dll (Version 4.71 oder höher)