strdup – дублирование строк с выделением памяти под новую строку.
Синтаксис:
#include < string.h >
char *strdup(const char *str);
Аргументы:
str – указатель на дублируемую строку.
Возвращаемое значение:
NULL – если не удалость выделить память под новую строку или скопировать строку на которую указывает аргумент str.
Указатель на дублирующую строку.
Описание:
Функция strdup дублирует строку, на которую указывает аргумент str. Память под дубликат строки выделяется с помощью функции malloc, и по окончанию работы с дубликатом должна быть очищена с помощью функции free.
Пример:
В примере строка «0123456789» дублируется с помощью функции strdup и результат выводится на консоль. Перед завершением работы память, выделенная под дубликат строки, очищается.
#include < stdio.h > // Для printf
#include < string.h > // Для strdup
#include < stdlib.h > // Для free
int main (void)
{
// Исходная строка
char str [11]=”0123456789”;
// Переменная, в которую будет помещен указатель на дубликат строки
char *istr;
// Дублирование строки
istr = strdup (str);
// Вывод дубликата на консоль
printf (“Дубликат: %s\n“, istr);
// Очищаем память, выделенную под дубликат
free (istr);
return 0;
}
| |
Результат:
Вывод в консоль:
Смотри так же:
strdup
strndup
strdupa
strndupa
alloca
calloc
free
malloc
realloc
wcsdup
|