我从一个函数中接收到一个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_cast?
谢谢。
filename.assign(source)
? - D.Shawley