我試圖連接到char * rv
與函數調用的結果,將返回int
。 fib()
返回一個int。我運行到的主要問題是,strcat()
的簽名要求const char *
作爲它的第二個ARG:最有效的方式使用strcat()與字符串和int?
char * strcat (char * destination, const char * source);
這裏是我的代碼一小部分。 fib()
計算第n斐波那契數 - 在這種情況下,第7斐波那契數。
char * rv;
int num;
rv = (char*)malloc(2048*sizeof(char));
num = 7;
...
strcat(rv, (const char *)itoa(fib(num), rv,10));
這顯然是錯誤的,將無法編譯。什麼是最乾淨的方式來做到這一點?我是否需要另一個char * var
首先存儲itoa()
的結果,而不是使用rv
?
感謝您提供任何幫助!
題外話,但我建議'RV = malloc的(2048 * *的sizeof RV)';在C中鑄造malloc的結果是毫無意義的,並且參數中的重複類型名稱只是在稍後更改類型時等待發生。 – jthill 2013-02-26 17:06:00