strdup, _mbsdup, _wcsdup

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu string.h - Index


Header-Datei

string.h, mbstring.h

Prototyp

char *strdup(const char *__s);
wchar_t *_wcsdup(const wchar_t *__s);
unsigned char *_mbsdup(const unsigned char *__s);

Beschreibung

Kopiert einen String in einen neu reservierten Speicherbereich.

strdup erstellt ein Duplikat des Strings s und reserviert den dafür erforderlichen Speicher über einen Aufruf von malloc. Reserviert werden (strlen(s) + 1) Bytes. Der Benutzer ist dafür verantwortlich, diesen Speicherbereich freizugeben, wenn er nicht mehr benötigt wird.

Rückgabewert

strdup gibt einen Zeiger auf den Speicherbereich zurück, der den duplizierten String enthält, oder NULL, wenn kein Speicher reserviert werden konnte.

Portabilität

POSIX ANSI C ANSI C++ Win32 Win64 macOS
strdup +
_mbsdup +
_wcsdup +

Beispiel

#include <stdio.h>
#include <string.h>
#include <alloc.h>

int main(void) {
  char *dup_str, *string = "abcde";
  dup_str = strdup(string);
  printf("%s\n", dup_str);
  free(dup_str);
  return 0;
}