Provided by:
manpages-pl-dev_20060617-1_all 
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)