2013-04-13 42 views
2

我想轉換一個const char,一個字符...這裏是我的代碼:一個const 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
#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

OK,偉大的工程,現在我需要執行程序的下一部分,它是檢查存儲在temp中的單詞是否是相關的在字典中拼寫單詞...要做到這一點,我有一個全局變量來保存字典。這裏是定義它的代碼,所以你知道我在做什麼:char * result = NULL;我需要能夠判斷「結果」中是否有字符串= temp。如果找到相同的字符串(意思是拼寫正確),則需要返回true,否則返回false。如果你也可以幫助我,我將不勝感激! –

0

如果你想有一個非const的版本,你必須複製字符串:

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

或者:

char * temp = strdup(word); 

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

    return false; 
} 

/* use temp */ 

free(temp);