Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       strdup, strndup, strdupa, strndupa - powiela łańcuch

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <string.h>

       char *strdup(const char *s);

       char *strndup(const char s[.n], size_t n);
       char *strdupa(const char *s);
       char *strndupa(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

       strdupa(), strndupa():
           _GNU_SOURCE

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 null ('\0').

       strdupa() i strndupa() są podobne, ale korzystają z alloca(3) do przydzielania pamięci  na
       bufor.

WARTOŚĆ ZWRACANA

       Funkcja  strdup()  zwraca  wskaźnik  do  skopiowanego  łańcucha. Zwraca NULL, gdy nie jest
       dostępna dostateczna ilość pamięci, i ustawia errno, wskazując błąd.

BŁĘDY

       ENOMEM Nie można przydzielić dostatecznej ilości pamięci potrzebnej dla kopii łańcucha.

ATRYBUTY

       Informacje  o  pojęciach  używanych  w  tym  rozdziale   można   znaleźć   w   podręczniku
       attributes(7).

       ┌────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │InterfejsAtrybutWartość       │
       ├────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │strdup(), strndup(), strdupa(), strndupa()      │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       strdup()
       strndup()
              POSIX.1-2008.

       strdupa()
       strndupa()
              GNU.

HISTORIA

       strdup()
              SVr4, 4.3BSD-Reno, POSIX.1-2001.

       strndup()
              POSIX.1-2008.

       strdupa()
       strndupa()
              GNU.

ZOBACZ TAKŻE

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

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej strony podręcznika są: Andrzej Krzysztofowicz
       <ankry@green.mf.pg.gda.pl>,   Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.