STRDUP(3)

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
Uwaga! To tłumaczenie może być nieaktualne!

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)

INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

    man --locale=C 3 strdup

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.