我正在尝试将const char转换为char ...这是我的代码:
bool check(const char* word)
{
char *temp[1][50];
temp = word;
return true;
}
这是一个传入const char的函数。我需要将const char转换为char。当我现在运行此代码时,编译器会抛出此错误:
dictionary.c:28:6: error: array type 'char *[1][50]' is not assignable
temp = word;
如何正确完成此转换?
谢谢, 约什
答案 0 :(得分:2)
#include <string.h>
bool check(const char* word)
{
char temp[51];
if(strlen(word)>50)
return false;
strncpy(temp,word,51);
// Do seomething with temp here
return true;
}
答案 1 :(得分:0)
如果你想要一个非const版本,你将不得不复制字符串:
char temp[strlen(word) + 1];
strcpy(temp, word);
或者:
char * temp = strdup(word);
if(!temp)
{
/* copy failed */
return false;
}
/* use temp */
free(temp);