itoa()
est une fonction très pratique pour convertir un nombre en chaîne de caractères. Linux ne semble pas avoir itoa()
existe-t-il une fonction équivalente ou dois-je utiliser la fonction sprintf(str, "%d", num)
?
Réponses
Trop de publicités?
Zakhar
Points
31
Paul Nathan
Points
22910
m_pGladiator
Points
4145
Jeyamaran
Points
76
Archana Chatterjee
Points
4
Vous pouvez utiliser ce programme à la place de sprintf.
void itochar(int x, char *buffer, int radix);
int main()
{
char buffer[10];
itochar(725, buffer, 10);
printf ("\n %s \n", buffer);
return 0;
}
void itochar(int x, char *buffer, int radix)
{
int i = 0 , n,s;
n = s;
while (n > 0)
{
s = n%radix;
n = n/radix;
buffer[i++] = '0' + s;
}
buffer[i] = '\0';
strrev(buffer);
}
- Réponses précédentes
- Plus de réponses
4 votes
Toute raison de ne pas utiliser
sprintf(str, "%d", num)
? est-il beaucoup plus lent queitoa
?5 votes
@javapowered, pour commencer,
itoa
permet une conversion arbitraire des bases,printf
les spécificateurs ne le font pas.0 votes
@javapowered sprintf() n'est pas sûr du signal
0 votes
Toute raison de ne pas utiliser
gcvt()
à partir de la bibliothèque standard ?