C Erreur: référence non définie à '_itoa'
Je suis en train de convertir un nombre entier en un personnage pour écrire dans un fichier, à l'aide de cette ligne:
fputc(itoa(size, tempBuffer, 10), saveFile);
et je recevoir cet avertissement et le message:
avertissement: déclaration implicite de "ltid'
undefined reference to '_itoa'
J'ai déjà inclus stdlib.h, et je suis de la compilation avec:
gcc -Wall -pedantic -ansi
Toute aide serait appréciée, merci.
source d'informationauteur aytee17
Vous devez vous connecter pour publier un commentaire.
itoa
ne fait pas partie de la norme. Je soupçonne soit-ansi
vous empêche de l'utiliser, ou il n'est pas disponible à tous.Je conseille
sprintf()
Si vous allez avec le standard c99, vous pouvez utiliser
snprintf()
qui est bien sûr plus sûr.Ici vous indique que, pendant la phase de compilation
itoa
est inconnu:donc, si cette fonction est présente sur votre système, il vous manque un fichier d'en-tête qui le déclare. Le compilateur suppose ensuite que c'est une fonction qui prend un retard certain nombre d'arguments et retourne un
int
.Ce message à partir du chargeur de phase
explique aussi que le chargeur ne pas trouver une telle fonction dans les bibliothèques, il sait de.
De sorte que vous devrait peut-être suivre de Brian conseils pour les remplacer
itoa
par une fonction standard.