strdup() функция языка Си. Копирование строки с выделением памяти.
Функция strdup() осуществляет выделение памяти и копирование строк, возвращает адрес скопированной строки.
#include <string.h>
dup = strdup(src); // Копируем строку src и присваиваем указателю dup ее адрес
Пример программы с использованием функции
strdup().
#include <stdio.h> // prinf()
#include <stdlib.h> // free()
#include <string.h> // strdup()
int main(){
char *src = "My string. "; // Строка которую будем дублировать
char *dup; // Указатель который будет показывать на скопированную строку
dup = strdup(src); // Копируем строку
printf("%s, &src = %p, &dup = %p \n", dup, src, dup); // "My string. , &src = 0000000000404000, &dup = 0000000000B01460"
free(dup); // Освобождаем память
}
2023-03-15
Понравилась страница?
Добавить в закладки
Или поделиться!
Связанные темы
atof() функция языка Си. Преобразует строку во float. atoi() функция языка Си. Преобразует строку в int. atoll() функция языка Си. Преобразует строку в long long. sprintf_s() функция языка Си. Преобразование типа в строку. strcat() функция языка Си. Сложение (конкатенация) строк. strchr() функция языка Си. Поиск символа в строке. strcpy() функция языка Си. Копирование строки. strdup() функция языка Си. Копирование строки с выделением памяти. Строки в Си. Основные функции. strlen() функция языка Си. Определение длины строки. strncat() функция языка Си. Объединение двух строк с ограничением длины. strncpy() функция языка Си. Копирование строки с ограничением длины. strstr() функция языка Си. Нахождение подстроки в строке. strtod() функция языка Си. Преобразование строки в double.