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)
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/.