Christoph: (C) Implizite Deklaration der Funktion »strdup«

Beitrag lesen

Moin.

strdup() gehört nicht zur C99 Standardbibliothek, sondern ist Teil des POSIX-Standard.
Deklariere die Funktion also selbst, d.h. füge an den Anfang deiner Quelldatei folgende Zeile ein:

extern char * strdup(const char *);

Alternativ könntest du auch im Modus -std=gnu99 kompilieren oder ganz auf strdup verzichten:

  
size_t size = strlen(str) + 1;  
char * copy = memcpy(malloc(size), str, size);  

Christoph