strdup, strndup, strdupa, strndupa - дублирует строку
НАЗВАНИЕstrdup, strndup, strdupa, strndupa - дублирует строку
СИНТАКСИС
#include
char *strdup(const char *s);
#define _GNU_SOURCE
#include
char *strndup(const char *s, size_t n);
char *strdupa(const char *s);
char *strndupa(const char *s, size_t n);
ОПИСАНИЕ
Функция strdup() возвращает указатель на новую строку,
являющуюся дубликатом строки s. Память под новую строку
выделятся с помощью malloc(3) и может быть высвобождены с
помощью free(3).
Функция strndup() похожа на предыдущую, но копирует, как
максимум, n символов. Если s длиннее n, то копируются
толькоn символов и добавляется конечный NUL.
Функции strdupa и strndupa похожи, но для выделения буфера
используют alloca(3). Эти функции доступны только при
использовании GNU GCC и имеют те же ограничения, что и
alloca(3).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция strdup() возвращает указатель на строку-дубль или
NULL, если недостаточно памяти.
КОДЫ ОШИБОК
ENOMEM Недостаточно памяти под дубликат строки.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVID 3, BSD 4.3. Функции strndup(), strdupa() и
strndupa() являются расширениями GNU.