J'essaye de concaténer à char * rv
avec le résultat d'un appel de fonction qui retournera un int
. fib()
renvoie un int. Le principal problème que je suis en cours d'exécution en est que la signature de strcat()
» exige une const char *
que sa deuxième arg:Le moyen le plus efficace d'utiliser strcat() avec une chaîne et int?
char * strcat (char * destination, const char * source);
Voici un petit échantillon de mon code. fib()
calcule le nième nombre de fibonacci - dans ce cas, le numéro 7 fibonacci.
char * rv;
int num;
rv = (char*)malloc(2048*sizeof(char));
num = 7;
...
strcat(rv, (const char *)itoa(fib(num), rv,10));
De toute évidence, cela est incorrect et ne sera pas compilé. Quelle est la façon la plus propre de le faire? Ai-je besoin d'un autre char * var
pour stocker les résultats de itoa()
en premier, au lieu d'utiliser rv
?
Nous vous remercions de l'aide que vous pouvez fournir!
hors sujet, mais je peux suggérer 'rv = malloc (2048 * sizeof * rv)'; lancer le résultat de malloc est inutile dans C, et le nom de fichier dupliqué dans l'argument est juste bitrot attendant de se produire lorsque vous changez de type plus tard. – jthill