Я получаю c-строку как параметр из функции, но аргумент, который я получаю, будет уничтожен позже. Поэтому я хочу сделать его копию.
Вот что я имею в виду:
class MyClass
{
private:
const char *filename;
public:
void func (const char *_filename);
}
void MyClass::func (const char *_filename)
{
filename = _filename; //This isn't going to work
}
То, что я хочу достичь, - это не просто присваивать один адрес памяти другому, а копировать содержимое. Я хочу иметь имя файла как "const char *", а не как "char *".
Я попытался использовать strcpy, но для него требуется, чтобы строка назначения не была const.
Есть ли способ? Что-то без использования const_cast по имени файла?
Спасибо.