Функция strdup в Си: описание, синтаксис и примеры
Функция `strdup` в языке программирования C используется для дублирования строки. Она создает новую строку в динамической памяти и копирует в нее все символы из исходной строки. Возвращаемый указатель указывает на начало новой строки. Принимает один аргумент - исходную строку (которая может быть заканчивающейся нулевым символом).
Пример кода, который использует `strdup`:
c
#include
#include
#include
int main() {
char* original = "Hello, world!";
char* duplicate = strdup(original);
// Проверяем, что дубликат создан успешно
if (duplicate != NULL) {
printf("Duplicate: %s\n", duplicate);
} else {
printf("Failed to duplicate the string.\n");
}
// Освобождаем динамическую память
free(duplicate);
return 0;
}
В этом примере мы объявляем исходную строку `original` и затем передаем ее в функцию `strdup`. Результатом работы функции `strdup` является новая строка `duplicate`, которая является точной копией исходной строки. После этого мы выводим дубликат на экран. Важно отметить, что после использования дубликата его необходимо освободить из памяти с помощью функции `free`.