Man page - strdup(3)

Packages contains this manual

Available languages:

en fr es pl ja ro de

Manual

strdup

NAZWA
BIBLIOTEKA
SKŁADNIA
OPIS
WARTOŚĆ ZWRACANA
BŁĘDY
ATRYBUTY
STANDARDY
HISTORIA
ZOBACZ TAKŻE
TŁUMACZENIE

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

Image grohtml-3986480-1.png

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

Tłumaczenie niniejszej strony podręcznika: 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 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 .