我有这段代码,它可以按预期工作:
#define MAX_PARAM_NAME_LEN 32
const char* GetName()
{
return "Test text";
}
int main()
{
char name[MAX_PARAM_NAME_LEN];
strcpy(name, GetName());
cout << "result: " << name << endl;
}
如果我想将结果存储到一个char *
中(因为我正在使用的框架中有一些函数只接受char *
作为输入),而不使用strcpy
(出于代码的实用性和可读性,以及学习目的),我该怎么做?保持const
,这样做是有效的:const char* name;
name = GetName();
但我仍然有 const
。
尝试只使用 char*
:
char* name;
name = GetName();
我收到了invalid conversion from 'const char*' to 'char*'
的错误。 对于这种类型的转换,最佳习惯是什么?