【发布时间】:2011-01-18 06:23:56
【问题描述】:
我从函数接收一个 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 的东西?
谢谢。
【问题讨论】: