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

NAZWA

       strdup, strndup, strdupa, strndupa - powielenie łańcucha

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

       On success, the strdup()  function returns a pointer to the duplicated string.  It returns
       NULL if insufficient memory was available, with errno set to indicate the error.

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-Safe │
       └──────────────────────────────────────────────────────┴────────────────────────┴─────────┘

STANDARDY

       strdup()  jest  zgodne z SVr4, 4.3BSD, POSIX.1-2001. strndup() jest zgodna z POSIX.1-2008.
       strdupa() i  strndupa() są rozszerzeniami 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⟩.