strdup

Autres langues

Langue: pl

Autres versions - même langue

Version: 1993-04-12 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

NAZWA

strdup, strndup, strdupa, strndupa - powielenie ³añcucha

SK£ADNIA


#include <string.h>



char *strdup(const char *s);



#define _GNU_SOURCE


#include <string.h> char *strndup(const char *s, size_t n);
char *strdupa(const char *s);
char *strndupa(const char *s, size_t n);

OPIS

Funkcja strdup() zwraca wska¼nik do nowego ³añcucha, który stanowi kopiê ³añcucha s. Pamiêæ dla nowego ³añcucha jest przydzielana za pomoc± malloc(3) i mo¿e byæ zwolniona za pomoc± free(3).

Funkcja strndup() jest podobna, lecz kopiuje co najwy¿ej n znaków. Je¶li s jest d³u¿sze ni¿ n, kopiowane jest tylko n znaków i dodawany jest koñcz±cy znak NUL.

strdupa i strndupa s± podobne, ale korzystaj± z alloca(3) do przydzielania pamiêci na bufor. S± one dostêpne wy³±cznie, gdy u¿ywany jest pakiet GNU GCC, i dotycz± ich te same ograniczenia, które opisano w alloca(3).

WARTO¦Æ ZWRACANA

Funkcja strdup() zwraca wska¼nik do skopiowanego ³añcucha lub NULL, gdy nie jest dostêpna dostateczna ilo¶æ pamiêci.

B£ÊDY

ENOMEM
Nie mo¿na przydzieliæ dostatecznej ilo¶ci pamiêci potrzebnej dla kopii ³añcucha.

ZGODNE Z

SVID 3, BSD 4.3. strndup(), strdupa() i strndupa() s± rozszerzeniami GNU.

ZOBACZ TAK¯E

alloca(3), calloc(3), free(3), malloc(3), realloc(3)