有没有什么办法可以把一个带引号的字符串赋给一个指针如下,没有让它变成const char*
?将一个非const引用的字符串赋给char *?
char** p;
*p=new char[100];
*p="quoted_string\n";
上述的问题是,p
现在是一个const
字符串,我不能从它delete
块:
delete p[n]; //gives an error--- block_is_valid...
我知道字符串文字如L"string"
但我不能但找到任何解决我的问题。
CLARIFICATION:我明确指出,我正在寻找一种在所提供示例中处于简单级别的方法。我知道我可以遍历字符串并复制它,但那不是我想要的。
而对于那些困惑的delete
的位置,我用它是这样的:
while(*p!=char_01) //this is not an example to be taken literally
{delete p; p++;}
您可能意思是将字符串复制到该数组,而不是覆盖指针...... –
“但我找不到任何东西来解决我的问题”。真...? strcpy ... – deviantfan
即使你被允许执行该任务,并且它以某种方式创建了字符数组的可变副本,这不是'delete'的作用。你应该在你的好书中多阅读一些内容。 – molbdnilo