У меня есть две строки, string0
и string1
. string0
имеет тип char *
, а string1
имеет тип const char *
. string1
указывает на данные, размещенные в куче, которые становятся недействительными при освобождении пространства, но я знаю, что их содержимое мне понадобится позже.
Поскольку память освобождается позже, я не могу сделать следующее:
string0 = (char *) string1;
Поскольку оба они являются указателями, после освобождения памяти они становятся недействительными. Вот почему я попробовал это:
strcpy(string0, string1);
Но это приводит к ошибке: Segmentation fault (core dumped)
. Что еще можно попытаться сохранить содержимое string1
даже после освобождения кучи?