strdup(3) Library Functions Manual strdup(3) NAZWA strdup, strndup - powiela lancuch BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include char *strdup(const char *s); char *strndup(size_t n; const char s[n], size_t n); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): strdup(): _XOPEN_SOURCE >= 500 || /* Od glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE strndup(): Od glibc 2.10: _POSIX_C_SOURCE >= 200809L Przed glibc 2.10: _GNU_SOURCE OPIS Funkcja strdup() zwraca wskaznik do nowego lancucha, ktory stanowi kopie lancucha s. Pamiec dla nowego lancucha jest przydzielana za pomoca malloc(3) i moze byc zwolniona za pomoca free(3). Funkcja strndup() jest podobna, lecz kopiuje co najwyzej n znakow. Jesli s jest dluzsze niz n, kopiowane jest tylko n znakow i dodawany jest konczacy znak null ('\0'). WARTOSC ZWRACANA Funkcja strdup() zwraca wskaznik do skopiowanego lancucha. Zwraca NULL, gdy nie jest dostepna dostateczna ilosc pamieci, i ustawia errno, wskazujac blad. BLEDY ENOMEM Nie mozna przydzielic dostatecznej ilosci pamieci potrzebnej dla kopii lancucha. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |strdup(), strndup() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY POSIX.1-2008. HISTORIA strdup() SVr4, 4.3BSD-Reno, POSIX.1-2001. strndup() POSIX.1-2008. ZOBACZ TAKZE alloca(3), calloc(3), free(3), malloc(3), realloc(3), string(3), strdupa(3), strndupa(3), wcsdup(3) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.18 25 lutego 2026 r. strdup(3)