我試圖使用以下函數將矢量轉換爲字符串。將矢量轉換爲c中的字符串
char* my_vect2str(char** input)
{
int i;
char* ret = (char*)xmalloc(sizeof(char*));
for(i=0; input[i] != NULL; i++)
{
if(*input[i] == '\0')
ret[i] = ' ';
else
ret[i] = *input[i];
}
ret[i] = '\0';
return ret;
}
這似乎只是獲取向量中每個字符串的第一個字符。我如何改變我的for循環以正確工作?謝謝!
你只是遍歷向量中的每個字符串並查看它的第一個字符。似乎你想要一個內部循環。 – 2013-02-24 23:13:08
...看起來你需要比'sizeof char *'空間更多的結果。順便說一句:你實際上需要兩個循環:一個總和總長度,一個執行連接(或者:你必須重新分配至少一次) – wildplasser 2013-02-24 23:15:36