将const char转换为数组

时间:2013-04-13 16:11:26

标签: c arrays char

我正在尝试将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;

如何正确完成此转换?

谢谢, 约什

2 个答案:

答案 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);