4

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

如何正确完成此转换?

谢谢,乔什

4

2 回答 2

5
#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;
}
于 2013-04-13T16:15:40.773 回答
1

如果你想要一个非常量版本,你必须复制字符串:

char temp[strlen(word) + 1];
strcpy(temp, word);

或者:

char * temp = strdup(word);

if(!temp)
{
    /* copy failed */

    return false;
}

/* use temp */

free(temp);
于 2013-04-13T16:15:53.807 回答